Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite pessoal, estou tendo um problema na listagem de registros que estou pegando no banco. A consulta é feita em uma única tabela com INNER JOIN em outra, para pegar o nome do curso e ID que será listado.
Minha SQL é a seguinte:
SELECT * FROM programacao INNER JOIN cursos ON programacao.cur_id = cursos.cur_id ORDER BY programacao.dia_id ASC
Esta programação que tenho, tem um campo que define o dia da semana, que é como quero fazer essa listagem, se houver registros para o dia.
A listagem é para ser assim:
Segunda-feira
09:30 às 10:30 | Título do curso
10:00 às 12:00 | Título do outro curso
Quarta-feira
12:00 às 15:00 | Título
13:00 às 14:00 | Outro título
Quinta-feira
17:00 às 18:00 | Mais um curso
E meu código PHP está assim:
//CONEXÃO
require_once('php/conexao.php');
//CONSULTA
$sql = "SELECT * FROM programacao INNER JOIN cursos ON programacao.cur_id = cursos.cur_id ORDER BY programacao.dia_id ASC";
$res = mysql_query($sql) or die (mysql_error().$sql);
$row = mysql_fetch_array($res);
$qtd = mysql_num_rows($res);
//ARRAY DOS DIAS DA SEMANA
$dias = array("","Domingo","Segunda-feira", "Terça-feira", "Quarta-feira", "Quinta-feira", "Sexta-feira", "Sábado");
//LISTAGEM NA PÁGINA
if(!empty($qtd)){
for($i = 0; $i < $qtd; $i++){
if($row['dia_id'] == $i){
echo '
<div id="diaSemana">
<div id="dia">'.$dias[$i].'</div>
';
while($row['dia_id'] == $i){
echo '
<div id="horarios">
<div id="horario">'.substr($row['prog_horai'],0,5).' às '.substr($row['prog_horaf'],0,5).'</div>
<div id="curso"><a href="" title="Ver descrição do curso">| '.utf8_decode($row['cur_nome']).'</a></div>
<br clear="all" />
</div>
';
}
echo '</div>';
}
}echo 'Nenhuma programação encontrada até o momento.';
}
A minha dúvida é na lógica que devo usar ali na listagem usando apenas essa consulta, se isso for possível, se não tiver que ter outras consulta ou sei lá como devo fazer isso... Um for dentro de um while, dois for, dois while?? Enfim, até mesmo mudando a consulta, se alguém puder me ajudar com isso aí, fico grato!
Abraço,
Gabriel Ribas
Carregando comentários...