Fullcalendar - 在allDay加载事件,怀疑是时间格式问题?

时间:2014-10-20 10:26:02

标签: php jquery fullcalendar

我一直在挖掘这个问题两周的大部分时间 - 没有快乐,阅读任何和我可以想到的在这里搜索和谷歌的所有条款(这篇文章是最后一根稻草)。

基本上,我有以下代码通过我的数据库中的JSON检索数据。显示事件,但在“allDay”插槽中。为了帮助,我从JSON文件中做了一个var_dump,它也在下面。

任何人都可以看到这里/为何没有将事件放置在适当的时间段吗?

来自JSON的

var_dump:

object(PDOStatement)#2 (1) { ["queryString"]=> string(34) "SELECT * FROM heli_cal ORDER BY id" } [{"id":"000000000000001","title":"Test","start":"2014-10-19 16:30:00","end":"2014-10-19 17:00:00","url":"","allDay":"false"},{"id":"000000000000002","title":"James","start":"2014-10-23 09:00:00","end":"2014-10-23 17:00:00","url":"","allDay":"true"}]

JQuery(Fullcalendar):

<script>
    $(document).ready(function() {
    var date = new Date();
    var d = date.getDate();
    var m = date.getMonth();
    var y = date.getFullYear();     

        var calendar = $('#calendar').fullCalendar({
            allDayDefault: false,
            editable: true,
            defaultView: 'agendaWeek',
            header: {
                left: 'prev,next today',
                center: 'title',
                right: 'basicDay,agendaDay,agendaWeek,month',
            },


        events: function(start, end, timezone, callback) {
            JSON.parse($.ajax({
                type: "GET",
                url: "required/events.php",
                async: false,
                success: function(doc) {
                    var events = [];
                    $(doc).find('event').each(function() {
                        events.push({
                        id: $(this).attr('id'),
                        title: $(this).attr('title'),
                        start: $(this).attr('start'),
                        end: $(this).attr('end'),
                        allDay: $(this).attr('allDay')
                });
            });
            callback(events);
        }
            }).responseText);
        }, 

   // Convert the allDay from string to boolean
   eventRender: function(event, element, view) {
    if (event.allDay === 'true') {
     event.allDay = true;
    } else {
     event.allDay = false;
    }
   },
   selectable: true,
   selectHelper: true,
   select: function(start, end, allDay) {
   var title = prompt('Event Title:');
   //var url = prompt('Type Event url, if exits:');
   if (title) {
   var start = $.fullCalendar.formatDate(start, "yyyy-MM-dd HH:mm:ss");
   var end = $.fullCalendar.formatDate(end, "yyyy-MM-dd HH:mm:ss");
   $.ajax({
   url: 'actions/event_add.php',
   data: 'title='+ title+'&start='+ start +'&end='+ end,
   type: "POST",
   success: function(json) {
   alert('Added Successfully');
   }
   });
   calendar.fullCalendar('renderEvent',
   {
   title: title,
   start: start,
   end: end,
   allDay: allDay
   },
   true // make the event "stick"
   );
   }
   calendar.fullCalendar('unselect');
   },

   editable: true,
   eventDrop: function(event, delta) {
   var start = $.fullCalendar.formatDate(event.start, "yyyy-MM-dd HH:mm:ss");
   var end = $.fullCalendar.formatDate(event.end, "yyyy-MM-dd HH:mm:ss");
   $.ajax({
   url: 'actions/event_update.php',
   data: 'title='+ event.title+'&start='+ start +'&end='+ end +'&id='+ event.id ,
   type: "POST",
   success: function(json) {
    alert("Updated Successfully");
   }
   });
   },

eventClick: function(calEvent, jsEvent, view) {

        alert('Event: ' + calEvent.title + ' Start: ' + calEvent.start + ' Finish: ' + calEvent.end + ' allDay: ' + calEvent.allDay);
    },

   eventResize: function(event) {
   var start = $.fullCalendar.formatDate(event.start, "yyyy-MM-dd HH:mm:ss");
   var end = $.fullCalendar.formatDate(event.end, "yyyy-MM-dd HH:mm:ss");
   $.ajax({
    url: 'actions/event_update.php',
    data: 'title='+ event.title+'&start='+ start +'&end='+ end +'&id='+ event.id ,
    type: "POST",
    success: function(json) {
     alert("Updated Successfully");
    }
   });

}

  });

 });
</script>

JSON PHP:

<?php 
// List of events
 $json = array();

 // Query that retrieves events
 $query = "SELECT * FROM heli_cal ORDER BY id";

 // connection to the database
 try {
 $bdd = new PDO('mysql:host=****;dbname=****', '****', '****');
 } catch(Exception $e) {
  exit('Unable to connect to database.');
 }
 // Execute the query
 $result = $bdd->query($query) or die(print_r($bdd->errorInfo()));

 // sending the encoded result to success page
 echo json_encode($result->fetchAll(PDO::FETCH_ASSOC));

?>

调试:

    [Object, Object] 0: ObjectallDay: "false"
end: "2014-10-19 17:00:00"
id: "000000000000001"
start: "2014-10-19 16:30:00"
title: "Test"
url: ""
__proto__: Object__defineGetter__: function __defineGetter__() {
    [native code]
}
__defineSetter__: function __defineSetter__() {
    [native code]
}
__lookupGetter__: function __lookupGetter__() {
    [native code]
}
__lookupSetter__: function __lookupSetter__() {
    [native code]
}
constructor: function Object() {
    [native code]
}
hasOwnProperty: function hasOwnProperty() {
    [native code]
}
isPrototypeOf: function isPrototypeOf() {
    [native code]
}
propertyIsEnumerable: function propertyIsEnumerable() {
    [native code]
}
toLocaleString: function toLocaleString() {
    [native code]
}
toString: function toString() {
    [native code]
}
valueOf: function valueOf() {
    [native code]
}
get __proto__: function __proto__() {
    [native code]
}
set __proto__: function __proto__() {
    [native code]
}
1: ObjectallDay: "true"
end: "2014-10-23 17:00:00"
id: "000000000000002"
start: "2014-10-23 09:00:00"
title: "James"
url: ""
__proto__: Object__defineGetter__: function __defineGetter__() {
    [native code]
}
__defineSetter__: function __defineSetter__() {
    [native code]
}
__lookupGetter__: function __lookupGetter__() {
    [native code]
}
__lookupSetter__: function __lookupSetter__() {
    [native code]
}
constructor: function Object() {
    [native code]
}
hasOwnProperty: function hasOwnProperty() {
    [native code]
}
isPrototypeOf: function isPrototypeOf() {
    [native code]
}
propertyIsEnumerable: function propertyIsEnumerable() {
    [native code]
}
toLocaleString: function toLocaleString() {
    [native code]
}
toString: function toString() {
    [native code]
}
valueOf: function valueOf() {
    [native code]
}
get __proto__: function __proto__() {
    [native code]
}
set __proto__: function __proto__() {
    [native code]
}
length: 2 __proto__: Array[0]

0 个答案:

没有答案