すでにこれを行っているプロジェクトが100万あることを私は知っています。私がやろうとしているのは、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)
基本的なフロー、データベースからすべてのレコードをプルしますINNERJOINcalendar_itemおよびcalendar_item_exceptionONid / calendar_item_id
例外の今日の日付を確認することから始めて、そこにあるものをすべて印刷します...calendar_itemに何も移動しない場合。
これはすべて、この時点まで私の頭の中で完全に理にかなっています。recurrence_idの実際のロジックを追加するためにここからどこに行くべきか、そしてそれを実装する方法を知りたいです:
つまり、アイテムは__dateにありますrecurs(recurrence_id)毎日(数量)5x(間隔)3日ごと(join_calendar_day)月曜日、水曜日、金曜日
私はical形式を見て、PEARを調べましたが、例外を作成するための次のステップを正直に把握できません(別のフレームワーク、できればPHPとMySQLだけを使用せずに発生することを本当に望んでいます)。
私の質問をさらに明確にするために、私は抽象的な原則ではなく、実際の例を探しています。私はプログラマーではないので、何かが機能しているのを見て、それを分析して理解できるようにする必要があります。
PEAR、Ruby、Horde、その他のフレームワークはなく、PHPとMySQLだけで、できるだけシンプルにしてください。