首页 > 解决方案 > Fullcalendar + 连接到 SQL + PHPMaker

问题描述

我已经成功地将完整日历添加到我的 phpmaker 项目中。当我尝试将日历连接到数据库中的表时,它停止工作。在尝试连接之前,我可以看到日历。之后,我有页面标题、侧边栏(与网站的其余部分相同)、页面标题,仅此而已。我从 fullcalendar 和此处的帖子中的代码开始。

我有:

表 - 事件 ID、标题、开始时间、结束时间、allDay

PHP 事件列表 - eventlist.php

<?php
$serverName = "94.46.22.1\MSSQLSERVER2017"; //serverName\instanceName
$connectionInfo = array( "Database"=>"takeoffpt_", "UID"=>"takeoffp", "PWD"=>"Rodinhas110815!");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
    echo "Connection established.<br />";
} else {
    echo "Connection could not be established.<br />";
    die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT ID, title, start, end 
          FROM dbo.events";

$stmt=sqlsrv_query($conn, $sql);

// Initializes a container array for all of the calendar events
$jsonArray = array();

while($row = sqlsrv_fetch_array($stmt))) {
    $title = $row['title'];
    $start = $row['start'];
    $end = $row['end'];

    // Stores each database record to an array
    $buildjson = array('title' => "$title", 'start' => $start->format('Y-m-d H:i:s'), 'end' => $end- 
>format('Y-m-d H:i:s'), 'allday' => false);

    // Adds each array into the container array
    array_push($jsonArray, $buildjson);
}

// Output the json formatted data so that the jQuery call can read it
echo json_encode($jsonArray);
?>

日历的自定义文件 - calendar.php

<?php // include_once $RELATIVE_PATH . "header.php" ?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset='utf-8' />

<script src='fullcalendar/core/main.js'></script>
<script src='fullcalendar/interaction/main.js'></script>
<script>
...
var calendar = new FullCalendar.Calendar(calendarEl, {
plugins: [ 'interaction' ],
...
});
...
</script>
<script>
    $(document).ready(function() {

var date = new Date();
var day = date.getDate();
var month = date.getMonth();
var year = date.getFullYear();

$('#calendar').fullCalendar({   
    header: {
        left: 'prev,next today',
        center: 'title',
        right: 'month,agendaWeek,agendaDay'
    },
    editable: true,
    droppable: true,
    eventLimit: true,
    eventsources: 'eventlist.php'
    });
 });
    </script>
</head>
<body>

    <div id='calendar'></div>

</body>

有什么想法吗?即使它不是在 PHPMaker 中使用...?

标签: phpsqlfullcalendar

解决方案


推荐阅读