Полный календарь не показывает события 31 марта - PullRequest
0 голосов
/ 29 марта 2012

Я успешно использовал плагин fullcalendar в течение нескольких месяцев и неожиданно столкнулся с ошибкой.Это событие не будет отображаться 31 марта 2012 года. Такое поведение не происходит на сервере нашего тестового сайта под управлением php v5.3.8, но происходит на нашем сервере живого сайта.На этом сервере работает php v5.3.6.

Может кто-нибудь пролить свет на эту ситуацию.Возможно ли это связано с переходом на летнее время?Как это исправить?

Спасибо за любую помощь.

КОД:

<script type="text/javascript">
$(document).ready(function() {
    $('#calendar').fullCalendar({
        theme: "true",
        aspectRatio: 1.8,
        weekMode: 'liquid',
        header: {
            left: "",
            center: "prev title next",
            right: ""
        },
        buttonIcons:{
            prev: "triangle-1-w",
            next: "triangle-1-e"
        },
        eventSources: [
            {
                url: 'VS_race_events.php',  // Event Source One //
                type: 'POST',
                error: function() {
                    alert('there was an error while fetching events!');
                },
                color: '#006600',
                textColor: 'white'
            },
            {
                url: 'VS_work_events.php',  // Event Source Two //
                type: 'POST',
                error: function() {
                    alert('there was an error while fetching events!');
                },
                borderColor: '#006600',
                color: 'beige',
                textColor: '#333333'
            }
        ],
        eventClick: function(calEvent, jsEvent, view) {
            $("#dialog_frame").css("visibility", "visible");
            $("#dialog_frame").draggable("enable");
            $(".dialog_content").html(calEvent.description);
            $(".dialog_title").html(calEvent.title);         
        }   
    })
});
</script>

Вот файл VS_work_event:

<?php
require_once('Connections/HDAdavePDO.php');

if (isset($_POST['start'])) {
  $unix_start = $_POST['start'];
  $date_start = strftime("%Y-%m-%d",$unix_start);

}
if (isset($_POST['end'])) {
  $unix_end = $_POST['end'];
  $date_end = strftime("%Y-%m-%d",$unix_end);
}

$pdo = new PDO('mysql:host=' . $host . ';dbname='.$database, $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$stmt2 = $pdo->prepare('SELECT * FROM vs_events WHERE event_date >= ? AND event_date < ?');
$stmt2->bindParam(1, $date_start);
$stmt2->bindParam(2, $date_end);
$stmt2->execute();
$stmt2->setFetchMode(PDO::FETCH_ASSOC);
$row_Calendar = $stmt2->fetchAll();

foreach ($row_Calendar as $row){
    if ($row['event_type'] == 13 && $row['active'] == 1){
    $display_date = substr($row['event_date'],0,10);
    $eventsArray['id'] =  $row['event_id'];
    $eventsArray['start'] = $display_date;
    $eventsArray['title'] = $row['event_subject'];
    $eventsArray['description'] = $row['event_text'];
    $eventsArray['type'] = $row['event_type'];
    $events[] = $eventsArray;
}
}
echo json_encode($events);
$pdo = null;
?>

Ответы [ 2 ]

2 голосов
/ 29 марта 2012
$stmt2 = $pdo->prepare('SELECT * FROM vs_events WHERE event_date >= ? AND event_date < ?');

, поэтому, если $ date_end - 31 марта, события 31 марта не будут возвращены этим запросом как

31st March <  31st March is **false**
1 голос
/ 29 марта 2012

Если посмотреть на JSON-ответ обоих ваших источников событий, я не вижу ни одного события, которое произошло бы 31 марта.

Возможно, ваша проблема связана с запросом событий или события на стороне серверазапись сама, а не с FullCalendar.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...