Javascript Fullcalendar不显示数据库中的事件

Javascript Fullcalendar不显示数据库中的事件,javascript,php,jquery,pdo,fullcalendar,Javascript,Php,Jquery,Pdo,Fullcalendar,我正在制作日历,以显示有关预订的一些信息。我已经阅读了有关的文档,并且实现了日历和必要的脚本来获取所需的事件信息,但是我遇到了一个问题,我不明白这些信息是否是从PHP脚本传递到日历的 它不显示任何彩色单元格。这是密码,有人能帮我吗 PHP脚本 <?php require_once 'Config.php'; $start = $_GET['start']; $end = $_GET['end']; $events = array(); $stmt = $db->prepar

我正在制作日历,以显示有关预订的一些信息。我已经阅读了有关的文档,并且实现了日历和必要的脚本来获取所需的事件信息,但是我遇到了一个问题,我不明白这些信息是否是从PHP脚本传递到日历的

它不显示任何彩色单元格。这是密码,有人能帮我吗

PHP脚本

<?php

require_once 'Config.php';

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

$events = array();

$stmt = $db->prepare('SELECT reservation_id, check_in, check_out FROM reservations WHERE check_in = ? AND check_out = ?');
  $stmt->execute(array($start, $end));
  $results = $stmt->fetchAll();
    foreach($results as $row){
      $events[] = array(
      'id'   => $row["reservation_id"],
      #'title'   => $row["title"],
      'start'   => $row["check_in"],
      'end'   => $row["check_out"]
      );
    }
echo json_encode($events);

?>
$(document).ready(function(){
  calendar();
});

var calendar = function(){
  $('#calendar').fullCalendar({
    events: {
        url: 'CalendarController.php',
        backgroundColor: 'red'
    }

  });
}

});

从chrome inspector中,我可以看到用于获取信息的ajax调用被传递,并且没有记录任何错误。也许我在PHP脚本中出错了?

当我在回复一条评论时,我发现由于一个奇怪的原因,如果PHP脚本的json响应中省略了标题键,fullcalendar插件将不会加载数据。我还修改了php代码,以便在使用ajax加载数据时,不使用从fullcalendar传递的
$\u GET
参数来提供响应

这是代码,我希望它能对其他有同样问题的人有用

<?php

require_once 'Config.php';

$events = array();

$stmt = $db->prepare('SELECT reservation_id, check_in, check_out FROM reservations');
  $stmt->execute();
  $results = $stmt->fetchAll();
    foreach($results as $row){
      $events[] = array(
      'id'   => $row["reservation_id"],
      'title'   => 'ND',
      'start'   => $row["check_in"],
      'end'   => $row["check_out"]
      );
    }
echo json_encode($events);

?>


使用和启用错误处理-如果存在任何php/pdo错误,请更新您的问题以包含这些错误(如果有)。这不是与php
pdo
相关的错误。在阅读了github上关于fullcalendar的一些问题后,我发现如果php脚本传递的json中省略了title键,它将不会加载数据@FunkFortyner感谢您的帮助。不客气,很高兴看到您发现了问题。我注意到你发布了一个答案,不知道为什么要删除它。是的,我能看见。10k+会员可以查看已删除的答案。我觉得你应该取消删除它,然后一旦它允许你接受它。我很乐意投上一票。@FunkFortyNiner因为有人通过投下我的问题来欺骗我。相信我,我知道你的意思。你的答案是正确的,但是你说“出于一个奇怪的原因,如果省略标题键,fullcalendar插件将不会加载数据”。原因并不奇怪,很明显title字段是必需的,而不是可选的。“我还修改了我的php代码,以便在使用ajax加载数据时不使用从fullcalendar传递的$\u GET参数来提供响应。”…为什么?fullCalendar提供这些功能是有充分理由的,PHP脚本使用它们是合乎逻辑的。无论如何,由于SQL中缺少参数值,此答案中所示的PHP代码将无法运行。@ADyson我正在使用此代码,并且在没有传递到查询的开始/结束参数的情况下,它也可以正常运行,但您的观察是对的。“在我的情况下,如果没有传递到查询的开始/结束参数,它也可以正常工作”…是的,但在您实际显示的代码中,您定义了两个参数(使用两个
字符),但没有向execute()提供任何值声明。据我所知,这将导致查询失败。好的,我明白了。感谢更新。但我仍然认为您应该使用这些值。一旦您有几个月或几年前的保留,加载所有内容的速度将很慢,并且您将下载大量用户不会看到的数据。fullCalendar为您提供了u为避免此类问题,它实际需要数据的开始和结束日期。