В PHP и MySQL - как определить, является ли Магазин открытым или закрытым (вернуть true или false)?
Также, как получить следующие часы работы, если магазин закрыт?
Пример таблицы Opening_Hours
:
+----+---------+----------+-----------+------------+---------+
| id | shop_id | week_day | open_hour | close_hour | enabled |
+----+---------+----------+-----------+------------+---------+
| 1 | 1 | 1 | 16:30:00 | 23:30:00 | 1 |
| 2 | 1 | 2 | 16:30:00 | 23:30:00 | 1 |
| 3 | 1 | 3 | 16:30:00 | 23:30:00 | 0 |
| 4 | 1 | 4 | 16:30:00 | 23:30:00 | 1 |
| 5 | 1 | 5 | 10:00:00 | 13:00:00 | 1 |
| 6 | 1 | 5 | 17:15:00 | 00:30:00 | 1 |
| 7 | 1 | 6 | 17:15:00 | 01:30:00 | 1 |
| 8 | 1 | 7 | 16:30:00 | 23:30:00 | 0 |
+----+---------+----------+-----------+------------+---------+
open_hour
и close_hour
- это поля типа TIME.Дизайн таблицы в порядке?
Пример текущего времени:
Текущее время : вт 23:00, - выход :Open, 'Open at Tue 16:30 - 23: 30'
Текущее время : Вт 23:40, - Выход : Закрыть, 'Открыто в четверг 16:30 - 23:30'
Открыто в четверг, потому что Opening_Hours.week_day = 3
отключено
Теперь, как работать с полуночным временем?Это усложняется.
Как вы можете видеть, в субботу (Opening_Hours.week_day = 5
) он открыт с 17:15 до 01:30 (закрыто на следующий день в воскресенье)
Еслитекущее время - воскресенье 01:15, тогда магазин по-прежнему будет открыт на базе Opening_Hours.week_day = 5
.
Выход : открыто, 'открыто в субботу 17:15 - 01:30'