Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho em uma tabela os horários em que o restaurante abre e fecha e quais dias ele abre (salvei como domingo, segunda-feira e etc).
Gostaria de saber como posso fazer um sql e no where filtrar se na hora atual (e dia da semana atual) está aberto ou fechado.
Alguém pode me dar uma luz de onde iniciar?
Obrigado
Se sua dúvida é sobre sql, está no forum errado :D
Você acharia melhor fazer essa consulta direto no sql ou filtrar depois com php?
[]'s
Depende, como está sua base de dados?
Depende, como está sua base de dados?
Acho que filtrar depois vai ser mais complicado... tenho vários estabelecimentos (tbl_empresa) e em outro coloquei os horarios (tbl_atendimento)
na tbl_atendimento coloquei empresa (int) | dia (dom, seg, ter e etc) | de (time) | ate( time)
ex:
1 | seg | 13:00 | 18:00
Queria exibir na segunda entre as 13:00 e as 18:00 - Estabelecimento aberto...
Fiz dessa forma o sql:
SELECT * FROM tbl_atendimento WHERE de <= NOW( ) AND ate >= now()
O problema de fazer a consulta assim é que as 00:00:00 é ignorada, tendo que colocar 24:00:00, então não acho que seja a melhor forma...
Obrigado por responder..
Se sua dúvida é sobre sql, está no forum errado :D
Me desculpem... algum adm poderia migrar para o lugar correto? :(
Bom, se os dados salvos no banco são os horários de funcionamento, basta montar uma query e verificar se existe algum retorno.
SELECT COUNT(*) FROM tbl_atendimento WHERE empresa = $empresa AND dia = '$dia' AND (CURRENT_TIME BETWEEN de AND ate);
Acredito que seja mais ou menos assim :D
>
Bom, se os dados salvos no banco são os horários de funcionamento, basta montar uma query e verificar se existe algum retorno.
SELECT COUNT(*) FROM tbl_atendimento WHERE empresa = $empresa AND dia = '$dia' AND (CURRENT_TIME BETWEEN de AND ate);
Acredito que seja mais ou menos assim :D
CURRENT_TIME BETWEEN de AND ate);
Isso é mágico... hahahaha obrigado! :D
Estamos aqui pra ajudar ;)
Me surgiu uma outra dúvida agora em relação a isso.
Pra eu pegar o que está dentro do horário eu uso:
CURRENT_TIME BETWEEN inicio AND fim
Mas e se eu quiser ao contrário? Pegar tudo que NÃO ESTÁ DENTRO DESSE HORÁRIO.
Como faço?
Abraço
Tentei fazer quando não está entre o horário e não consegui :( alguém tem uma ideia?
Obrigado
Se sua dúvida é sobre sql, está no forum errado :D