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