Логика повторения в календаре - PullRequest
0 голосов
/ 24 февраля 2009

Я знаю, что есть миллион проектов, которые уже сделали это. Сказав, что я пытаюсь создать онлайн-календарь с использованием PHP и MySQL, вот что я планирую:

  1. таблицы в базе данных

    ((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)
    
  2. Основной поток, извлеките все записи из базы данных. ВНУТРЕННЕЕ СОЕДИНЕНИЕ calendar_item и calendar_item_exception ON id / calendar_item_id

  3. начните с просмотра сегодняшней даты для исключения и напечатайте все, что там есть ... если ничего не перейти к календарному элементу.

Все это имеет смысл в моей голове до этого момента. Я хотел бы знать, куда идти дальше, чтобы добавить фактическую логику для recurrence_id и как ее реализовать:

т.е. элемент находится на __date recurs (recurrence_id) ежедневно (кол-во) 5x (интервал) каждые 3 дня (join_calendar_day) в понедельник, среду, пятницу

Я видел формат ical и посмотрел на PEAR, но, честно говоря, не могу понять, как сделать следующий шаг в моей голове, чтобы сделать исключения (которые я действительно хочу увидеть, не используя другую инфраструктуру, желательно только PHP и MySQL) ).

Чтобы прояснить мой вопрос далее, я ищу примеры из реального мира, а не абстрактные принципы; Я не программист, поэтому я должен видеть, что что-то работает, чтобы я мог анализировать это, чтобы понять это.

Нет PEAR, нет Ruby, нет Horde, нет никаких других фреймворков, только PHP и MySQL и как можно более просто.

1 Ответ

1 голос
/ 24 февраля 2009
...