DunkMask 1 Denunciar post Postado Setembro 1, 2012 Olá, boa tarde a todos. Bom, sem muito enrolação vou direto ao ponto do meu problema. Estou desenvolvendo o site da minha web rádio e nela estou fazendo a grade de programação. A grande consiste de uma tabela no banco onde estão cadastrado todas as programações que temos, contendo o código da semana que obtenho pelo php. Eu realizo a consulta no banco para me mostrar somente as informações referente ao dia de hoje(Sábado), até ai tudo bem. Mas minha dor de cabeça começa quando eu tento aplicar a seguinte logica. A programação começa as 00:00 e termina as 23:00, mas no site ela mostra apenas 3 informações conforme a figura abaixo: Um exemplo melhor, agora são 13:00 h a programação deste horario aparece no espaço "No ar", e o resto das programações que são das 14:00 em diante seria mostradas conforme a figura acima. Mas quando eu limito a consulta em apenas 3 informações, e conforme a hora vai passando os outros horarios não aparecem. Vejam o código teste que estou fazendo. <?php require "../Painel/inc/config.php"; $selectSemana = "SELECT * FROM semana WHERE codSemana='".date("w")."'"; $semana = mysql_fetch_object(mysql_query($selectSemana)); $select = "SELECT * FROM programa WHERE idSemana='".$semana->idSemana."' ORDER BY hora LIMIT 3"; $query = mysql_query($select); $v = 0; while($programacao = mysql_fetch_array($query)){ $horaAtual = explode(":", date("H:i:s")); $horaGrade = explode(":", $programacao['hora']); if($horaGrade[0] > $horaAtual[0]){ echo $programacao['nome'].'<br />'; echo 'com '.$programacao['idUser'].'<br />'; echo 'Tematica '.$programacao['idTematica'].'<br />'; echo 'Horário '.$horaGrade[0].':'.$horaGrade[1].'<br /><br />'; } } ?> este código mostra para mim os 3 horários que quero apos as 13:00, mas quando chega as 14:00 ele so mostra dua, mas eu queria que ele continuasse mostrando os 3 próximos horários Bom, espero que alguém possa me ajudar e não reparem o use de fetch_object acima e depois em baixo Arry, tentei solucionar este problema com um professor da faculdade e nem ele consegui me explicar o que estava acontecendo na hora. Desde já agradeço a todos que lerem e comentarem. Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Jacinto 74 Denunciar post Postado Setembro 1, 2012 Seria mais ou menos assim, pelo o que eu entendi: $hora = date("H:i"); $query = mysql_query("SELECT * FROM programa WHERE idSemana='".$semana->idSemana."' AND hora > ".$hora." ORDER BY hora DESC LIMIT 3"); while($programacao = mysql_fetch_array($query)){ $horaAtual = explode(":", date("H:i:s")); $horaGrade = explode(":", $programacao['hora']); if($horaGrade[0] > $horaAtual[0]){ echo $programacao['nome'].'<br />'; echo 'com '.$programacao['idUser'].'<br />'; echo 'Tematica '.$programacao['idTematica'].'<br />'; echo 'Horário '.$horaGrade[0].':'.$horaGrade[1].'<br /><br />'; } } Compartilhar este post Link para o post Compartilhar em outros sites
DunkMask 1 Denunciar post Postado Setembro 1, 2012 Seria mais ou menos assim, pelo o que eu entendi: $hora = date("H:i"); $query = mysql_query("SELECT * FROM programa WHERE idSemana='".$semana->idSemana."' AND hora > ".$hora." ORDER BY hora DESC LIMIT 3"); while($programacao = mysql_fetch_array($query)){ $horaAtual = explode(":", date("H:i:s")); $horaGrade = explode(":", $programacao['hora']); if($horaGrade[0] > $horaAtual[0]){ echo $programacao['nome'].'<br />'; echo 'com '.$programacao['idUser'].'<br />'; echo 'Tematica '.$programacao['idTematica'].'<br />'; echo 'Horário '.$horaGrade[0].':'.$horaGrade[1].'<br /><br />'; } } As horas nao podem ser apresentadas de forma decrescente, mas esta condição da na mesma que a minha. O banco nao vai mostrar todas as outras que deveriam aparecer. o meu problema esta no seguinte. agro como são 14:32 ele vai mostrar 15, 16 e 17, mas conforme o tempo vai passando os que estão acima de 17 nao aparecem mais no site. Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Jacinto 74 Denunciar post Postado Setembro 1, 2012 Tente colocar um LIMIT 4, só pra testa. Compartilhar este post Link para o post Compartilhar em outros sites
Blod 0 Denunciar post Postado Setembro 1, 2012 Tenta substituir a linha do select por: $select = "SELECT * FROM programa WHERE idSemana='".$semana->idSemana."' ORDER BY hora DESC LIMIT 3"; Compartilhar este post Link para o post Compartilhar em outros sites
DunkMask 1 Denunciar post Postado Setembro 1, 2012 Tente colocar um LIMIT 4, só pra testa. Da na mesma, ja tentei, conforme as horas vão passando a consulta some e nao aparece os outros resultados que tem no banco Tenta substituir a linha do select por: $select = "SELECT * FROM programa WHERE idSemana='".$semana->idSemana."' ORDER BY hora DESC LIMIT 3"; Não posso apresentar de forma de decrescente essa grade. Compartilhar este post Link para o post Compartilhar em outros sites
DunkMask 1 Denunciar post Postado Setembro 1, 2012 Bom como não apareceu nenhuma solução para o meu problema eu resolvi usar de uma gambi mesmo. declarei a divi que recebe a informa são como overflow: hidden e deixei a consulta mostrar todas as informações referente ao dia de hoje. e conforme as horas vão passando ele vai sumindo. considerem o meu problema resolvido. Compartilhar este post Link para o post Compartilhar em outros sites