Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Заполнение календаря расписания

Автор вопроса: BraedenPОтветов: 2

Я создаю систему планирования для своей школы, которая позволяет учителям бронировать комнаты/автомобили. Я просто застрял на одном аспекте: заполнение календаря. По сути, это будет просмотр месяца и недели. Ежемесячный просмотр я хорошо кодирую, но это еженедельный просмотр, на котором я застрял.

Люди, которые вставляют заказы, смогут указать дату бронирования и блок(ы) дня, который он занимает. Я мог бы просмотреть дни/блоки недели, выполняя запросы в эти дни и проверяя, не забронировано ли что-то в это время, но это было бы НАМНОГО неэффективно.

Моя вторая идея заключалась в том, чтобы получить метку времени для первого и последнего дня недели, а затем заполнить ассоциативный массив всеми этими датами. Затем я мог пройтись по блокам всех дней и найти в массиве все совпадения. Это немного лучше, но все еще кажется неэффективным для меня.

Есть ли лучший способ сделать это?

  • Вы используете базу данных? почему бы вам просто не запросить все события этой недели, упорядоченные по дате и времени начала? Я не вижу ничего более эффективного, чтобы сделать это. Ваш проект включает повторение? RageZ 20.09.2009
  • Да, с использованием базы данных, и да, это требует повторения. И я не могу просто перечислить события.. Это нужно отображать в разделах (6 блоков в день), и если блок запланирован, они не могут ничего запланировать во время этого блока. BraedenP 20.09.2009

phpcalendar

Ответы

Ответ 1 · рейтинг 1 · santosh

Вы можете использовать быстрый календарь, он очень прост, вам просто нужно передать ему SQL-запрос, он будет работать так, как ожидается.

проверить этот учебник

http://www.evolt.org/quick_calendar_using_ajax_and_php

Ответ 2 · рейтинг 1 · Jonathan Patt

Выберите все события, которые происходят в даты начала и конца активной недели или между ними, поместите результаты в массив, затем выполните цикл по дням недели и проверьте, происходят ли события в массиве в активный день.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы