我知道已经有一百万个项目已经做到了这一点。话虽如此,我想做的是使用 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)
基本流程,从数据库中拉取所有记录 INNER JOIN calendar_item 和 calendar_item_exception ON id/calendar_item_id
首先查看今天的日期是否有异常,然后打印那里的任何内容……如果没有任何内容移动到 calendar_item。
到目前为止,这一切在我的脑海中都是完全合理的。我想知道从这里到哪里添加recurrence_id的实际逻辑以及如何实现它:
即项目在 __date recurs (recurrence_id) 每天 (qty) 5x (interval) 每 3 天 (join_calendar_day) 周一、周三、周五
我已经看过 ical 格式,并且看过 PEAR,但老实说,我无法在脑海中掌握下一步来制作异常(我真的希望在不使用其他框架的情况下发生这种情况,最好只使用 PHP 和 MySQL)。
为了进一步澄清我的问题,我正在寻找现实世界的例子,而不是抽象的原则;我不是程序员,所以我必须看到一些有效的东西,这样我才能剖析它来理解它。
没有 PEAR,没有 Ruby,没有 Horde,没有其他框架,只有 PHP 和 MySQL,请尽可能简单。