Определить, открыт ли магазин?

В 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, - Вывод: Открыто, 'Открыто в Вт 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'

7
задан hakre 4 July 2012 в 20:36
поделиться