Было задано несколько вопросов по аналогичным темам, но я не могу найти решение этой конкретной проблемы и был бы благодарен за ваш вклад.
Я работаю над системой бронирования, где пользователи могут бронировать определенные услуги онлайн. Я застрял на поиске и отображении доступных временных интервалов в течение определенного дня (или недели). Я знаю длину необходимого временного интервала (например, 1 час) и рабочие часы, в которые можно бронировать временные интервалы (например, 09: 00–18: 00). Кроме того, у меня есть таблица MySQL, в которой хранятся уже существующие встречи. Столбцы, относящиеся к моим вопросам, выглядят следующим образом:
id start (datetime) end (datetime)
1 '2012-11-16 13:00:00' '2012-11-16 14:30:00'
2 '2012-11-16 15:00:00' '2012-11-16 16:00:00'
3 '2012-11-17 12:00:00' '2012-11-16 15:45:00'
4 '2012-11-17 13:00:00' '2012-11-16 16:15:00'
...
Теперь, учитывая упомянутую выше информацию, я не могу найти хорошее решение (в MySQL или PHP) для получения списка доступных временных интервалов. Есть еще одно условие: временные интервалы могут начинаться только с квартальным шагом. Т.е. для приведенного выше примера данные для 16-го доступного одночасового интервала будут следующими:
09:00, 09:15, 09:30, 09:45, 10:00, ..., 12:00, 16: 00, 16:15, ..., 17:00.
Обратите внимание, что даже если время может перекрываться (как в данных выборки), доступный временной интервал не может перекрываться.
< br /> Как вы думаете, как лучше всего подойти к этому?