Fullcalendar(jQuery日历)和JSON不起作用

时间:2013-06-08 12:12:15

标签: javascript sql json events fullcalendar

出于某种原因,我在Fullcalendar上看不到任何事件显示。

HTML

$(document).ready(function () {
  $('#calendar').fullCalendar({
    events: 'calendar/json-events.php'
  });
});

JSON-events.php

<?php 
    $json = array();
    $request = "SELECT * FROM event ORDER BY id";
     try {
       $bdd = new PDO('mysql:host=Roger-PC\SQLEXPRESS;dbname=calendar');
     } catch(Exception $e) {
       exit('Can't access the database.');
     }
     $result = $bdd->query($request) or die(print_r($bdd->errorInfo()));
     echo json_encode($result->fetchAll(PDO::FETCH_ASSOC));
?>

所以我的数据库中确实有一些数据,但仍然没有显示任何数据,我想知道我的网址可能存在一些问题吗?我试着把

放进去
events: 'events.php'

仍然没有出现,那么可能是我与数据库的联系?

在我的表格中,我有4个字段:Id,title,start,end

感谢阅读!

1 个答案:

答案 0 :(得分:0)

您是否尝试过将json-events.php放在主文件夹中?这是我的json-events.php代码的样子。我的数据库表格布局与您的不同,请记住这一点。请注意,您必须正确命名您的字段...例如开始,结束,网址,颜色,标题,说明......

<?php
require(realpath($_SERVER["DOCUMENT_ROOT"]).'/include/Database.php');
require(realpath($_SERVER["DOCUMENT_ROOT"]).'/include/Common.php');

// connect to the server 
$db->connect(); 

$sql = "SELECT  e.eventid AS 'id', 
    e.title, 
    e.description, 
    UNIX_TIMESTAMP(datestart) AS 'start', 
    UNIX_TIMESTAMP(dateend) AS 'end', 
    '' AS 'allDay', 
    CONCAT('#',c.gcalcolor) AS 'color', 
    CONCAT('/clubs/',c.urlname,'/events/?',e.eventid) AS 'url'
    FROM events e
    INNER JOIN clubevents ce ON e.eventid=ce.eventid
    INNER JOIN clubs c ON ce.clubid=c.clubid";

$results = $db->fetch_array($sql);

foreach ($results as $result)
{
    $rows[] = $result;
}

print json_encode($rows);

?>