如何使用php sql查询使事件显示在日历中?

时间:2018-07-30 21:28:26

标签: javascript php json fullcalendar

编辑*我发现了问题。日期正在转换为以下格式: 2018年3月1日12:00 AM 我已在下面发布了我的解决方案。

我的查询返回了适当的结果,但是日历上未显示任何事件。

这是SQL中数据的外观,以防出现我不知道的格式问题:

名称:测试

开始:2009-09-23 00:00:00.000

结束:2010-04-05 00:00:00.000

PHP:

$query = mssql_query("select [NAME], [Start], [End] from [database] where [Name] = 'Test'");

       $result = array();

        if (mssql_num_rows($query)) {

            while ($row = mssql_fetch_assoc($query)) {

                $result[] = $row;
            }
        } 

        $data = array();

        foreach($result as $i => $item)
        {
         $data[] = array(
          'title'   => $item["Name"],
          'start'   => $item["Start"],
          'end'   => $item["End"]
         );
        }

JSON / JS:

<script type="text/javascript">
 $(document).ready(function() {
 var calendar = $('#calendar').fullCalendar({
 editable:true,
 header:{
 left: 'prev,next today',
  center: 'title',
  right: 'month,agendaWeek,agendaDay,listMonth'
},
events: <?php echo json_encode($data); ?> ,
selectable:true,
selectHelper:true,

})

});
</script>

1 个答案:

答案 0 :(得分:1)

由于某种原因,我的日期格式正在转换,所以我只是在php循环中将其转换:

<?php
foreach($result as $i => $item)
    {
     $data[] = array(
      'title'   => $item["Name"],
      'start'   => date("Y-m-d", strtotime($item["Start"]));
      'end'   => date("Y-m-d", strtotime($item["End"]));
     );
    }
?>