Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DunkMask

[Resolvido] Grade de programação

Recommended Posts

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:

testede.png

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

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.