FullCalendar(http://arshaw.com/fullcalendar/)を使用して、JSONを介してMySQLデータベーステーブルからイベントをプルします。イベントはカレンダーに表示されていますが、何らかの理由でイベントの時間(時間、分、秒)が無視されています。これがカレンダーページのJavascriptです-
<script type='text/javascript'>
$(document).ready(function() {
$('#calendar').fullCalendar({
editable: false,
events: "json-events.php",
eventDrop: function(event, delta) {
alert(event.title + ' was moved ' + delta + ' days\n' +
'(should probably update your database)');
},
loading: function(bool) {
if (bool) $('#loading').show();
else $('#loading').hide();
}
});
});
</script>
そして私のJSONPHPファイル(日付の後の時間を含めていることに注意してください。現在、そのフィールドはDATEのみとして設定されています):
<?php
include $_SERVER['DOCUMENT_ROOT'] . '/includes/pdo_conn.inc.php';
$getEventsSQL = $db->query("SELECT id, title, date_start AS start, date_end AS end FROM training");
$events = array();
while ($row = $getEventsSQL->fetch()) {
$start = $row['start'];
$end = $row['end'];
$title = $row['title'];
$eventsArray['id'] = $row['id'];
$eventsArray['title'] = $title;
$eventsArray['start'] = $start . " 13:00:00";
$eventsArray['end'] = $end . " 14:00:00";
$eventsArray['url'] = "http://somewhere.org";
$events[] = $eventsArray;
}
echo json_encode($events);
?>
上記の出力:
[{
"id": "13",
"title": "Test 1",
"start": "2010-05-18 13:00:00",
"end": "0000-00-00 14:00:00",
"url": "http:\/\/tapp-essexvfd.org"
}, {
"id": "14",
"title": "Test 2",
"start": "2010-06-18 13:00:00",
"end": "2010-06-19 14:00:00",
"url": "http:\/\/tapp-essexvfd.org"
}, {
"id": "15",
"title": "Test 3",
"start": "2010-06-18 13:00:00",
"end": "0000-00-00 14:00:00",
"url": "http:\/\/somewhere.org"
}, {
"id": "16",
"title": "test4",
"start": "2010-05-03 13:00:00",
"end": "0000-00-00 14:00:00",
"url": "http:\/\/somewhere.org"
}]
ありがとう!
編集
これは、受け入れられたソリューションを反映するように変更されたPHPです。ありがとう!
<?php
include $_SERVER['DOCUMENT_ROOT'] . '/includes/pdo_conn.inc.php';
$getEventsSQL = $db->query("SELECT id, title, date_start AS start, time FROM events WHERE date_start >= NOW() AND status = 1");
$events = array();
while ($row = $getEventsSQL->fetch()) {
$start = $row['start'];
$title = $row['title'];
$eventsArray['id'] = $row['id'];
$eventsArray['title'] = $title;
$eventsArray['start'] = $start . " " . $row['time'];
$eventsArray['end'] = $end;
$eventsArray['url'] = "#";
$eventsArray['allDay'] = false;
$events[] = $eventsArray;
}
echo json_encode($events);
?>