Я знаю, что есть миллион проектов, которые уже сделали это. Сказав, что я пытаюсь создать онлайн-календарь с использованием PHP и MySQL, вот что я планирую:
таблицы в базе данных
((calendar_item)
id, title, start_date, start time, end time, recurrence_type_id,
recurrence_qty, interval, end_date)
((recurrence_type)
id, name, value (where I want to store the logic so it can be edited
on the fly))
((calendar_item_exception)
id, calendar_item_id, title, start_date, start time, end time,
recurrence_type_id, recurrence_qty, interval, end_date)
((join_calendar_day)
calendar_id, day_id)
((day)
id, name)
Основной поток, извлеките все записи из базы данных. ВНУТРЕННЕЕ СОЕДИНЕНИЕ calendar_item и calendar_item_exception ON id / calendar_item_id
начните с просмотра сегодняшней даты для исключения и напечатайте все, что там есть ... если ничего не перейти к календарному элементу.
Все это имеет смысл в моей голове до этого момента. Я хотел бы знать, куда идти дальше, чтобы добавить фактическую логику для recurrence_id и как ее реализовать:
т.е. элемент находится на __date recurs (recurrence_id) ежедневно (кол-во) 5x (интервал) каждые 3 дня (join_calendar_day) в понедельник, среду, пятницу
Я видел формат ical и посмотрел на PEAR, но, честно говоря, не могу понять, как сделать следующий шаг в моей голове, чтобы сделать исключения (которые я действительно хочу увидеть, не используя другую инфраструктуру, желательно только PHP и MySQL) ).
Чтобы прояснить мой вопрос далее, я ищу примеры из реального мира, а не абстрактные принципы; Я не программист, поэтому я должен видеть, что что-то работает, чтобы я мог анализировать это, чтобы понять это.
Нет PEAR, нет Ruby, нет Horde, нет никаких других фреймворков, только PHP и MySQL и как можно более просто.