Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom gente eu tenho que fazer um select de maneira que me retorne apenas os registros do dia e no horario programado..exemplo
Meu esquema do banco
CREATE TABLE IF NOT EXISTS programacao (id_prog int(11) NOT NULL auto_increment,dia_semana_prog int(11) NOT NULL,nome_prog varchar(255) NOT NULL,inicio_prog time NOT NULL,fim_prog time NOT NULL,descricao_prog text NOT NULL,data date NOT NULL,
PRIMARY KEY (id_prog)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=35;
Agora eu preciso resgatar os registros do dia da semana e e que esteja ocorrendo em um determinado periodo entre inicio_prog e fim_prog
Depois de algumas muitas horas tentando, consegui fazer o seguinte algoritimo PHP e SQL
$hora = date("H:m:s");
$dia = date('l');
$query = $bd->query("SELECT * FROM programacao WHERE (dia_semana_prog = ".SwitchWeekDays($dia).") AND ('".$hora."' BETWEEN inicio_prog AND fim_prog) ");
while ($linha = $bd->fetch_array($query)) {
echo "$linha[2] <br><br>\r\n";
}
Esse SQL parece certo, mas tem alguns bugs, até mostra mas alguns momentos e horarios aleatorios ele mostra registros errados ou não mostra o que devia, só ta acertando mesmo no dia do programa mas no horario não.
Alguem ai pode me ajudar a concluir esse dilema?
Abraço a todos
Carregando comentários...