简体   繁体   English

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

[英]How do I get events to show up in calendar using php sql query?

Edit* I have found the issue. 编辑*我发现了问题。 The date is being converted to this format: Mar 1 2018 12:00AM I have posted my solution below. 日期将转换为以下格式: Mar 1 2018 12:00 AM我在下面发布了我的解决方案。

My query returns the appropriate results, however none of the events are showing up on the calendar. 我的查询返回了适当的结果,但是所有事件都未显示在日历上。

Here's what the data looks like in SQL in case there's format issues I don't know about: 如果存在我不知道的格式问题,则SQL中的数据如下所示:

Name: Test 名称:测试

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

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

PHP: 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: 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>

For some reason my date format was being converted, so I just converted it in the php loop: 由于某种原因,我的日期格式正在转换,所以我只是在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"]));
     );
    }
?>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM