PHP + MySQL +重复日历事件

时间:2011-02-02 21:28:55

标签: php mysql calendar performance repeat

我知道这是一个多次问的问题,我希望那里有一些可靠的答案,所以我会试着问它,看看我们是否可以得到不同的答案。

我意识到处理重复事件有很多复杂性。但如果我做这样的事情,我的理解是正确的:

MySQL专栏(RRULE) 当用户输入一个事件时,蚂蚁说“这个重复”,现在输入这个RRULE信息,例如,(即:FREQ = YEARLY; BYMONTH = 3; BYDAY = 2SU)

因此,使用此方法而不是插入相同事物的数百个事件,只需创建1个表来存储我的重复事件,然后为事件添加此RRULE列,对吗?

问题2.如果声明“永远重复此事”(即:生日),您如何确定事件的最大长度。

问题3.有没有比我想的更好的方法呢?

如果你能对我所质疑的内容有所了解,那将非常感激。我想编写一个基于此设置处理所有信息的类,但想知道我是否在正确的轨道上。

拜托,谢谢!

1 个答案:

答案 0 :(得分:1)

是的,只需输入一次即可。根据用户输入(他们选择了什么?每年,每月等)计算运行的第一天,然后将其放入下一个运行日期。还存储他们的类型选择。然后,当您在指定时间运行任务时,将根据存储的类型选择更新下一个运行日期/时间。此外,您可能需要另一个字段来指示重复的次数;永远,4次等。在运行任务时相应减少。