我正试图用PHP中的“while”命令将这个日历实现到我的站点中。我不知道JSON或Ajax,所以不确定这是我的选择。我现在有这个代码,但是它为每个事件呈现一个日历,而不是一个包含所有事件的日历。我理解为什么,因为我正在循环整个日历代码,但是是否有一种方法可以循环事件?
<div class="widget"> <div class="navbar"> <div class="navbar-inner"><h6>Calendar</h6></div> </div> <div id="calendar" class="well"></div> </div> <? $query = "SELECT * FROM tevents"; $result = mysql_query($query) or die(mysql_error()); // Print out result while($row = mysql_fetch_array($result)){ $calname = $row['Event_Title']; $caldate = $row['Start_Date']; $calnotes = $row['Event_Details']; $caltime = $row['Event_Time']; ?> <script> //===== Calendar =====// $('#calendar').fullCalendar({ header: { left: 'prev,next', center: 'title', right: 'month,agendaWeek,agendaDay' }, editable: false, events: [ { title: '<?=$calname?>', start: '<?=$caldate?>' }, ] ); </script>
为事件创建JSON。
$events = []; while($row = mysql_fetch_array($result)){ $events[] = ['title' => $row['Event_Title'], 'start' => $row['Start_Date']]; }
然后,用 $events
$events
$('#calendar').fullCalendar({ header: { left: 'prev,next', center: 'title', right: 'month,agendaWeek,agendaDay' }, editable: false, events: <?= json_encode($events) ?> });