【发布时间】:2011-10-02 11:47:30
【问题描述】:
我正准备在我的在线应用程序中使用 PHP/MySQL 使用基于 JQuery 的 FullCalendar,并注意到在实现重复事件时,您必须在每次重复的事件数组中放置一个新项目(使用相同的 ID) ,像这样:
events: [
{
id: 999,
title: 'Repeating Event',
start: new Date(y, m, d-1, 16, 0),
allDay: false
},
{
id: 999,
title: 'Repeating Event',
start: new Date(y, m, d+6, 16, 0),
allDay: false
},
{
id: 999,
title: 'Repeating Event',
start: new Date(y, m, d+13, 16, 0),
allDay: false
}
]
好的,所以这没什么大不了的。使用 MySQL,我将只输入循环了很多次的事件,如果它没有结束日期,那么从该事件的开始日期开始可能有 100 次。但现在我正在用一堆甚至可能不需要的 JavaScript 加载页面(如果用户只是打开日历查看一个月)。不酷。
必须有更好的方法......有人有自己的经验吗?
【问题讨论】:
-
您如何将这些事件存储在您的数据库中?您可以根据日历上的操作对这些事件进行 ajax 加载,但与只传递一次较大的结果相比,调度许多 AJAX 调用可能会遭受更长的加载时间(与 gzip 数据传输相比,HTTP 握手非常慢)。您可以在“下个月”事件中仅选择相关日期并 ajax-load 新事件。
-
那是我的担心...我不想用许多 AJAX 调用使服务器超载,但我也想避免在使用事件时用可能有数千个事件填充页面数组如上所示。我希望在某个地方有一些快乐的媒介。顺便说一句,事件基本上都存储在 MySQL 中……每个事件都只有一个开始日期、一个重复周期(每天、每周、每月等)和一个可选的结束日期。
标签: php jquery mysql fullcalendar