2011-07-15 87 views
3

我正在考慮在網站上使用FullCalendar作爲事件日曆。全日曆事件數據

我的問題:是否有任何文檔或使用PHP/MySQL存儲訪問事件數據的例子?

謝謝!

回答

2

我也是這麼做的,我希望有更完整的PHP/MySQL方面的例子,因爲我通常是一個ASP.NET/MSSQL人員,所以我不得不花費更多時間比我想要的一些基本的東西。這是我做了什麼的大綱。這很基本。

首先,我創建MySQL中的表看起來像這樣:

CREATE TABLE `events` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `title` varchar(200) NOT NULL, 
    `start_date` datetime NOT NULL, 
    `end_date` datetime NOT NULL, 
    `event_url` varchar(200) DEFAULT NULL, 
    `all_day` tinyint(1) NOT NULL DEFAULT '0', 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8; 

於是,我寫了一個名爲JSON-events.php一個PHP程序,這是我作爲日曆事件源。在這個程序中,你首先需要獲得的開始和結束日期爲當前顯示的日曆:

$start_date = $_GET['start']; 
$end_date = $_GET['end']; 

然後,你需要運行一個SQL查詢來獲取事件,在該窗口:

$sqlcommand = "select * from events 
where start_date between from_unixtime($start_date) and from_unixtime($end_date) 
or end_date between from_unixtime($start_date) and from_unixtime($end_date) 
order by start_date"; 

然後,放在一起的陣列的結果:

$event_array = array(); 
while ($record = mysql_fetch_array($result)) { 
    $event_array[] = array(
     'id' => $record['id'], 
     'title' => $record['title'], 
     'start' => $record['start_date'], 
     'end' => $record['end_date'], 
     'url' => $record['event_url'], 
     'allDay' => $record['all_day'] 
    ); 
} 

最後,JSON編碼它和回聲它:

echo json_encode($event_array); 

這似乎工作。我不太熟悉在MySQL和PHP中處理日期/時間字段的方式,所以我不確定我是否以最有效的方式執行此操作。