如何在jquery FullCalendar中使用自定义字段?

时间:2016-03-09 04:57:39

标签: php jquery mysql fullcalendar

我是新手中的ajax / jquery,并且发现了由Adam Shaw制作的jquery的完整日历。这看起来就像我需要的那样。

我找到了一些关于如何从php / mysql设置中读取它的教程,如果我使用他们告诉我的完全相同的字段名称(开始,结束等),它可以正常工作。我想知道的是如何告诉它使用我自己的日期字段作为开始和结束日期。我还想添加一些额外的字段,如评论(我已经有一个日历数据库,其中包含我想要使用的数据而不重组它,因为其他东西使用相同的数据库)。

字段名称示例:

  • 的startDate
  • 结束日期
  • 评论
  • reoccuring

如果有人可以让我知道如何告诉它使用自定义日期字段以及显示其他可能很棒的自定义字段。

我目前的脚本是: jquery / ajax目前正在使用

<script>
    $(document).ready(function() {
            var date = new Date();
            var d = date.getDate(),
                m = date.getMonth(),
                y = date.getFullYear();
            $('#calendar').fullCalendar({
                header: {
                    left: 'prev,next today',
                    center: 'title',
                    right: 'month,agendaWeek,agendaDay'
                },
                buttonText: {
                    today: 'Today',
                    month: 'Month',
                    week: 'Week',
                    day: 'Day'
                },

                events: "../calendar/internal/events.php"
          });
    });
</script>

events.php

    <?php
     $json = array();
     $requete = "SELECT * FROM internal_calendar ORDER BY id";
     try {
        $bdd = new PDO('mysql:host=localhost;dbname=calendarDB', 'root', 'securepassword');
    } catch(Exception $e) {
        exit('Unable to connect to database.');
     }
     $resultat = $bdd->query($requete) or die(print_r($bdd->errorInfo()));
     echo json_encode($resultat->fetchAll(PDO::FETCH_ASSOC));

任何帮助都将不胜感激。

谢谢, JAC

1 个答案:

答案 0 :(得分:2)

在制作结果的json格式之前,你需要做一些事情来使fullcalendar成为事件。

$result = $resultat->fetchAll(PDO::FETCH_ASSOC);
$events = array();
foreach ($result as $row) {
    $events[] = array (
        'start' => date('Y-m-d H:i:s', strtotime($row['startDate'])),
        'end' => date('Y-m-d H:i:s', strtotime($row['endDate'])),
        'comments' => $row['comments'],
        'reoccuring' =>  $row['reoccuring'],
        'title' => 'Set title here', // Set comment here to show in event block.
    )

}

echo json_encode($events);

event的title属性用于在fullcalendar中的事件块中显示数据。您可以将评论设置为标题。

'title' => $row['comments']

那就是它。