我正在使用FullCalendar(http://arshaw.com/fullcalendar/)设置应用程序,该应用程序将允许用户查看客户端计划信息以及通过管理界面计划客户端。
我想使用MySQL数据库填充数组,然后将该数组以JSON提要的形式传递给HTML页面上的FullCalendar。理想情况下,客户端信息将显示在HTML页面上。但是,即使我的JSON提要被传递,我的FullCalendar上也没有事件。
传递的JSON Feed示例:
[{"title":"Watson","start":"1333976400","end":"1333980000","allDay":false}]
我对这些语言还不熟悉,如果这个错误变得简单,我也不会感到惊讶。
我非常感谢有关这些活动出现的任何帮助或见解。当我手动将数组输入FullCalendar时,它确实显示了事件,但到目前为止,我的JSON提要导致没有显示任何信息。
谢谢
供参考: HTML:
$(document).ready(function() {
$('#calendar').fullCalendar({
events: '/json-events.php'
});
});
PHP:
while ($record = mysql_fetch_array($result)) {
$event_array[] = array(
'id' => $record['id'],
'title' => $record['title'],
'start' => $record['start_date'],
'end' => $record['end_date'],
'allDay' => false
);
}
echo json_encode($event_array);
答案 0 :(得分:7)
对于那些追随我的搜索者来说,问题在于我的PHP文件有HTML头部和正文标记。我是一个PHP菜鸟,所以我不知道会导致它无法正常工作。为了让FullCalendar显示JSON提要,它必须只有PHP代码,没有HTML。 JSONLint.com在确定这一点时非常宝贵。
答案 1 :(得分:5)
我设置了一个快速示例,并且没有任何问题让这个工作:
PHP:
<?php
$record[0]["title"]="Test 1";
$record[1]["title"]="Test 2";
$record[2]["title"]="Test 3";
$record[0]["start_date"]="1333976400";
$record[1]["start_date"]="1333976401";
$record[2]["start_date"]="1333976402";
$record[0]["end_date"]="1333980000";
$record[1]["end_date"]="1333980001";
$record[2]["end_date"]="1333980002";
$record[0]["id"]="1";
$record[1]["id"]="2";
$record[2]["id"]="3";
for ($i=0; $i<3; $i++) {
$event_array[] = array(
'id' => $record[$i]['id'],
'title' => $record[$i]['title'],
'start' => $record[$i]['start_date'],
'end' => $record[$i]['end_date'],
'allDay' => false
);
}
echo json_encode($event_array);
exit;
?>
HTML:
events: '/events.php'
PHP脚本的示例输出:
[{"id":"1","title":"Test 1","start":"1333976400","end":"1333980000","allDay":false},{"id":"2","title":"Test 2","start":"1333976401","end":"1333980001","allDay":false},{"id":"3","title":"Test 3","start":"1333976402","end":"1333980002","allDay":false}]
因此,鉴于以上内容对我而言并且与上面的内容完全没有区别,您可能需要检查PHP脚本是否正在被正确调用。检查Mozilla Firefox或Google Chrome中的Javascript控制台,查看Fullcalendar尝试加载事件时是否存在任何错误。有关PHP脚本的任何提及,请检查您的Web服务器访问/错误日志。
答案 2 :(得分:1)
events: '/json-events.php'
应该是
events: './json-events.php'
或
events: 'json-events.php'
如果这有帮助,请告诉我......
修改强>
我还注意到,在你收到的Json中,行中没有id。数据库中您的ID名称与您在数组中使用的名称之间可能存在某种关系。检查一下,看看是否发生了这种情况,因为这是传递事件所需的属性之一。
修改强>
尝试从$ event_array []中删除[]然后看看会发生什么......如果这不起作用,我会被困......抱歉