EnChikiben
@EnChikiben

Запрос выборки работы магазина

Добрый вечер! Есть структура которая хранит время работы магазина:
ID time_start (номер часа) time_stop (номер часа) day_start (порядковый номер дня недели) day_stop (порядковый номер дня недели)
1 12 1 7 4
2 12 2 5 6


нужно выбрать так чтобы учитывалось время окончания, вот например если по первой записи, если уже наступила пятница (порядковый номер дня 5), но при этом время еще не перешло через время окончания то выбирать эту запись.

Подскажите как можно так выбрать, если возможно вообще, или подскажите более удачную структуру хранения времени работы магазина.

Спасибо!
  • Вопрос задан
  • 3062 просмотра
Пригласить эксперта
Ответы на вопрос 3
Fragster
@Fragster
помогло? отметь решением!
может быть тогда лучше изменить структуру таблицы, например
день-время — активность
0-0-0
0-6-1
0-22-0
1-6-1


ну и до кучи поменять номер дня недели на дату (допустим + к 0001-01-01 00:00:00). А потом еще регламентированный календарь прикрутить, как в 1ске…
Ответ написан
@artishok
кратко
$now = текущее время;
$day = текущий день;

SELECT * FROM shop WHERE time_start>=$now AND time_stop<=$now AND day_start>=$day AND day_end<=$day
Ответ написан
@rozhik
На каждый магазин несколько записей shopId, startT, endT. Где startT, endT — время в секундас с 00.00 понедельника.
Индексируется хорошо, позволяет задавать любой график с недельной переодичностью.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы