estou a fazer um horário para um site e estou com alguma dificuldade em mostrar as actividades.
o horário terá várias horas, cada hora terá várias actividades espalhadas pelos dias de semana
o meu código está assim
<?php
$horarios = mysql_query("SELECT *, hact.hora as hora, hact.id_dias_semana as dia, hact.id_atividades as ativ, act.titulo as titulo FROM horarios as h
INNER JOIN horarios_atividade as hact ON hact.id_horarios= h.id_horarios
INNER JOIN atividades as act ON act.id_atividades=hact.id_atividades
WHERE hact.id_dias_semana != '' group by hact.hora order by hact.hora ");while($hor=mysql_fetch_array($horarios)){?><ul><li><spanclass="fa fa-clock-o"></span><?php echo $hor["hora"];?></li>
<li class="<?php if($hor["dia"]==1){ echo 'dt-sc-table-cnt timetable-text';}?>"><a><?php if($hor["dia"]==1){echo $hor["titulo"];}?></a></li>
<li class="<?php if($hor["dia"]==2){ echo 'dt-sc-table-cnt timetable-text';}?>"><a><?php if($hor["dia"]==2){echo $hor["titulo"];}?></a></li>
<li class="<?php if($hor["dia"]==3){ echo 'dt-sc-table-cnt timetable-text';}?>"><a><?php if($hor["dia"]==3){echo $hor["titulo"];}?></a></li>
<li class="<?php if($hor["dia"]==4){ echo 'dt-sc-table-cnt timetable-text';}?>"><a><?php if($hor["dia"]==4){echo $hor["titulo"];}?></a></li>
<li class="<?php if($hor["dia"]==5){ echo 'dt-sc-table-cnt timetable-text';}?>"><a><?php if($hor["dia"]==5){echo $hor["titulo"];}?></a></li>
<li class="<?php if($hor["dia"]==6){ echo 'dt-sc-table-cnt timetable-text';}?>"><a><?php if($hor["dia"]==6){echo $hor["titulo"];}?></a></li>
<li class="<?php if($hor["dia"]==7){ echo 'dt-sc-table-cnt timetable-text';}?>"><a><?php if($hor["dia"]==7){echo $hor["titulo"];}?></a></li></ul><?php };?>
a questao é que ele agrupa tudo pelas horas(perfeito) mas só mostra uma atividade nessa hora, quando na realidade existem mais 3 na base de dados
a minha bd esta assim
--Estrutura da tabela `atividades`--
CREATE TABLE `atividades`(`id_atividades`int(11) NOT NULL,`titulo` text NOT NULL,`ativo`int(11) NOT NULL DEFAULT '1',`likes`int(11) NOT NULL,`file` varchar(2222) NOT NULL,`id_area`int(11) NOT NULL,`descricao` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;--Estrutura da tabela `dias_semana`--
CREATE TABLE `dias_semana`(`id_dias_semana`int(11) NOT NULL,`titulo` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;--Estrutura da tabela `horarios`--
CREATE TABLE `horarios`(`id_horarios`int(11) NOT NULL,`id_clubes`int(11) NOT NULL,`data` date NOT NULL,`ativo`int(11) NOT NULL DEFAULT '1') ENGINE=MyISAM DEFAULT CHARSET=latin1;--Estrutura da tabela `horarios_atividade`--
CREATE TABLE `horarios_atividade`(`id_horarios_atividade`int(11) NOT NULL,`id_atividades`int(11) NOT NULL,`id_horarios`int(11) NOT NULL,`id_dias_semana`int(11) NOT NULL,`hora` time NOT NULL,`ativo`int(11) NOT NULL DEFAULT '1') ENGINE=MyISAM DEFAULT CHARSET=latin1;
Pergunta
nmoa
boas
estou a fazer um horário para um site e estou com alguma dificuldade em mostrar as actividades.
o horário terá várias horas, cada hora terá várias actividades espalhadas pelos dias de semana
o meu código está assim
a questao é que ele agrupa tudo pelas horas(perfeito) mas só mostra uma atividade nessa hora, quando na realidade existem mais 3 na base de dados
a minha bd esta assim
obrigado desde já pela a ajuda
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.