我準備在使用PHP/MySQL的在線應用程序中使用基於JQuery的FullCalendar,並注意到在執行週期性事件時,您必須爲每次重複(使用相同的ID)在事件數組中放置一個新項目,像這樣:通過PHP/MySQL在FullCalendar中實施週期性事件的最佳方式是什麼?
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調用,您可能會承受更長的加載時間,而不是僅僅傳遞一次較大的結果(HTTP握手與gzip數據傳輸相比非常慢)。您可以在「下個月」事件中選擇僅相關日期和ajax加載新事件。 – ghayes
這就是我的擔心......我不想用許多AJAX調用來重載服務器,但是我也想避免使用上面顯示的Events數組填充可能有成千上萬個事件的頁面。我希望在某個地方有一些快樂的媒介。順便說一下,這些事件基本上都存儲在MySQL中......每個人都有一個開始日期,一個重複(每日,每週,每月等)和一個可選結束日期。 – Michael