Javascript 无法检索完整日历事件的时间和日期
我已经加载了在mysql中创建的所有事件的fullcalendar(v2)。但是当我点击一个事件时,时间显示为Javascript 无法检索完整日历事件的时间和日期,javascript,mysql,json,ajax,fullcalendar,Javascript,Mysql,Json,Ajax,Fullcalendar,我已经加载了在mysql中创建的所有事件的fullcalendar(v2)。但是当我点击一个事件时,时间显示为00:00:00的start和end的null,即使我在mysql中设置了开始和结束时间。我猜这也会迫使所有事件保持全天事件状态 请告知 下面是mysql的截图和我用来从事件中检索值的脚本 MySQL表格截图 js代码: $('#calendar').fullCalendar({ header: { left: '
00:00:00
的start
和end
的null
,即使我在mysql中设置了开始和结束时间。我猜这也会迫使所有事件保持全天事件状态
请告知
下面是mysql的截图和我用来从事件中检索值的脚本
MySQL表格截图
js代码:
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
defaultDate: '2015-12-16, 00:00:00',
selectable: true,
selectHelper: true,
editable: true,
eventLimit: true, // allow "more" link when too many events
events: "events.php",
eventRender: function (event, element, view) {
if (event.allDay === 1) {
event.allDay = true;
} else {
event.allDay = false;
}
},
eventClick: function (event) {
$('#eventTitle').val(event.title);
$('#eventStart').val(moment(event.start).format('YYYY-MM-DD, HH:mm:ss'));
$('#eventEnd').val(moment(event.end).format('YYYY-MM-DD, HH:mm:ss'));
$('#eventDescription').val(event.description);
$('#myModal').modal();
}
我使用一个简单的select
语句从mysql检索数据
events.php
<?php
// List of events
$json = array();
// Query that retrieves events
$sql = "SELECT * FROM evenement ORDER BY id";
// connection to the database
try {
$bdd = new PDO('mysql:host=localhost;dbname=fullcalendar', 'root', '');
} catch(Exception $e) {
exit('Unable to connect to database.');
}
// Execute the query
$resultat = $bdd->query($sql) or die(print_r($bdd->errorInfo()));
// sending the encoded result to success page
echo json_encode($resultat->fetchAll(PDO::FETCH_ASSOC));
?>
花了一段时间,但找到了解决方案/解决方法
1) 与其将MySQL中的startdate和enddate列声明为DATETIME,不如使用VARCHAR格式
我尝试了下面的方法来存储日期和时间,包括时区
var startdate = moment($('#eventStart').val()).format("YYYY-MM-DD[T]HH:mm:SS")+05:30 \\string concatenated with timezone
var enddate = moment($('#eventEnd').val()).format("YYYY-MM-DD[T]HH:mm:SS")+05:30 \\string concatenated with timezone
在页面加载期间,fullcalendar加载事件所需的格式应与以下除allDay之外的其他事件的格式相同
[{"id":"1","title":"New Event","start":"2015-01-14T00:01:00+05:30","end":"2015-01-14T00:01:00+05:30","allDay":false}]
信贷:Ashik Basheer
我是编程新手,因此欢迎任何建议/建议来改进代码