Я создаю систему расписаний для своей школы, которая позволяет учителям бронировать комнаты / транспортные средства. Я просто застрял в одном аспекте: заполнение календаря. По сути, он будет иметь месяц и неделю просмотра. Ежемесячный просмотр, который я хорошо кодирую, но это еженедельный просмотр, на котором я застрял.
Люди, вставляющие заказы, смогут указать дату бронирования и блок (и) дня, на который оно занято. Я мог бы пройтись по дням / блокам на неделе, выполняя запросы в эти дни и проверяя, забронировано ли что-либо в это время, но это было бы СЛИШКОМ неэффективно.
Моя вторая идея состояла в том, чтобы получить метку времени для первого и последнего дней недели, а затем заполнить ассоциативный массив всеми этими датами. Тогда я мог бы пройтись по блокам всех дней и найти любые совпадения в массиве. Это немного лучше, но все равно кажется мне неэффективным.
Есть ли лучший способ сделать это?