Fullcalendar不显示数据库中的事件

问题描述 投票:1回答:1

我正在制作日历以显示有关预订的一些信息。我已经阅读了有关的文档,并且我已经实现了日历和必要的脚本来获取我需要的事件信息,但是我遇到了问题,我无法理解这些信息是否从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);

?>

JS代码

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

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

  });
}

});

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

javascript php jquery pdo fullcalendar
1个回答
1
投票

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

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

<?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);

?>
© www.soinside.com 2019 - 2024. All rights reserved.