Все события показаны каждый день - PullRequest
0 голосов
/ 19 октября 2018

Я использую Fullcalendar для отображения событий, однако он показывает все события на каждый день, независимо от даты, как вы можете видеть ниже.

Как мне предотвратить это и просто иметь календарьправильно показывать события?

enter image description here

Мой код на моей странице 'calendar.php':

$(function() {
    $('#calendar').fullCalendar({
        themeSystem: 'bootstrap3',
        allDaySlot: 'false',
        firstDay: '1',

        header: {
            left: 'prev, today, next',
            center: 'title',
            right: 'month, agendaWeek, agendaDay'
        },

        defaultView: 'month',

        views: {
            month: {
                columnHeaderFormat: 'dddd'
            },
            agendaWeek: {
                titleFormat: 'MMMM YYYY',
                columnHeaderFormat: 'dddd Do'
            },

            agendaDay: {
                titleFormat: 'MMMM YYYY',
                columnHeaderFormat: 'dddd Do'
            },
        },

        minTime: '09:00',
        editable: 'true',
        eventLimit: 'true',
        selectable: 'true',
        events: 'events.php'
    });
});

и коддля 'events.php' это:

$connect = new PDO('mysql: host=localhost; dbname=dbName', 'userName', 'pWord');

$data = array();

$query = "SELECT bookingEnquiryNumber, IFNULL(NULLIF(groupName,''),CONCAT(firstName,' ',lastName)) AS bookingName, bookingDate, bookingStartTime, bookingFinishTime FROM tblbookingdetails WHERE accepted = 1 ORDER BY bookingDate";

$statement = $connect->prepare($query);

$statement->execute();

$result = $statement->fetchAll();

foreach($result as $row)
    {
        $data[] = array(
            'title'    => $row["bookingName"],
            'date'     => $row["bookingDate"],
            'start'    => $row["bookingStartTime"],
            'end'      => $row["bookingFinishTime"]
        );
    }

echo json_encode($data);

Вывод из 'events.php'::

[{"title":"Jacquenette Reichhardt","date":"2018-10-07","start":"20:00","end":"22:00"},{"title":"Haag Group","date":"2018-10-09","start":"13:00","end":"15:00"},{"title":"Nelly Tuffs","date":"2018-10-18","start":"16:00","end":"18:00"},{"title":"Aufderhar, Beatty and Anderson","date":"2018-10-22","start":"12:00","end":"14:00"},{"title":"Moore Inc","date":"2018-10-31","start":"19:00","end":"22:00"},{"title":"Ledner, Farrell and DuBuque","date":"2018-11-01","start":"19:00","end":"22:00"},{"title":"Stamm, Nicolas and Lind","date":"2018-11-04","start":"17:00","end":"19:00"},{"title":"Elvina Barnet","date":"2018-11-15","start":"10:00","end":"13:00"},{"title":"Hegmann, Armstrong and Leffler","date":"2018-11-21","start":"17:00","end":"19:00"},{"title":"Chrisy Laurie","date":"2018-11-24","start":"17:00","end":"19:00"},{"title":"Sasha Andrysek","date":"2018-12-07","start":"16:00","end":"20:00"},{"title":"Littel-Daniel","date":"2018-12-11","start":"09:00","end":"17:00"}]

Я использовал часть кода из Интеграция Jquery Fullcalendar сPHP и Mysql .

Моя страница календаря использует MySQLi для подключения к базе данных, но в файле events.php используется PDO (я не могу заставить Mysqli работать).

1 Ответ

0 голосов
/ 19 октября 2018

Посмотрите на документы, нет date только start и end.Итак, замените

    $data[] = array(
        'title'    => $row["bookingName"],
        'date'     => $row["bookingDate"],
        'start'    => $row["bookingStartTime"],
        'end'      => $row["bookingFinishTime"]
    );

на

    $date = $row["bookingDate"];
    $data[] = array(
        'title'    => $row["bookingName"],
        'start'    => $date. ' ' .$row["bookingStartTime"].':00',
        'end'      => $date. ' ' .$row["bookingFinishTime"].':00'
    );

или сделайте эквивалент, используя MySql для отправки start и end в качестве даты / времени с форматом YYYY-MM-DD HH:mm:ss

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