php - FullCalendar 和 json 事件

标签 php jquery mysql json fullcalendar

我尝试使用 FullCalendar.js 制作可用性日历。如果我在 index.php 中从数据库调用事件,一切都会正常,但是当我尝试通过 json 获取事件时,我什么也得不到。日历显示但正常,但不显示事件。当我查看 smjestaj-rezervacija-kalendar.php 时,我得到:

[ { title: 'Rezervirano', start: '2015-01-30', allDay: true } , { title: 'Rezervirano', start: '2015-01-31', allDay: true } , { title: 'Rezervirano', start: '2015-02-01', allDay: true } ]  

这样就可以了。有人知道为什么它没有显示在日历上,我做错了什么吗?

index.php

<script type="text/javascript">
    $(document).ready(function(){
        // Event calendar js
        try{
            $('#utopia-fullcalendar-2').fullCalendar({
                header:{
                    left:'prev,next',
                    center:'title',
                    right:''
                },
                dayNames: ['Nedjelja','Ponedjeljak','Utorak','Srijeda','Četvrtak','Petak','Subota'],
                dayNamesShort: ['Ned','Pon','Uto','Sri','Čet','Pet','Sub'],
                monthNames: ['Siječanj','Veljača','Ožujak','Travanj','Svibanj','Lipanj','Srpanj','Kolovoz','Rujan','Listopad','Studeni','Prosinac'],
                monthNamesShort: ['Sij','Velj','Ožu','Tra','Svi','Lip','Srp','Kol','Ruj','Lis','Stu','Pro'],
                firstDay:1,
                editable:false,
                height:540,
                events: 'smjestaj-rezervacija-kalendar.php?SmjestajID=<?=$_GET['SmjestajID'];?>'
            });
        } catch (e){
            errorMessage(e);
        }
    });
    </script>

这是我的 smjestaj-rezervacija-kalendar.php:

<?php
header('Content-type: text/json; charset=utf-8');
include($_SERVER['DOCUMENT_ROOT']."/admin/config.php");
echo '[';
$SmjestajID = $_GET['SmjestajID'];
$rezultat_kalendar = mysqli_query($link, "SELECT * FROM smjestaj_kalendar WHERE KalendarSmjestaj=$SmjestajID ORDER BY KalendarID ASC");
$broj_unosa = mysqli_num_rows($rezultat_kalendar);
$i = 1;
while ($redak_kalendar = mysqli_fetch_array($rezultat_kalendar))
    {   ?> {
                    title: 'Rezervirano',
                    start: '<?=$redak_kalendar['KalendarDatum']?>',
                    allDay: true
                } 
<?php
        if ($i <> $broj_unosa){
            echo ',';
        }
        $i ++;
    }
echo ']';
?> 

我尝试使用 http://fajitanachos.com/Fullcalendar-and-recurring-events/ json 文件,但仍然一无所获。

最佳答案

我用谷歌搜索发现 json 中不应该有 html 对象,所以我删除了 header('Content-type: text/json; charset=utf-8'); 并使用数组代替html 的。这个答案很有帮助:How do I get FullCalendar to display information from my JSON feed?

<?php
include($_SERVER['DOCUMENT_ROOT']."/admin/config.php");

$SmjestajID = $_GET['SmjestajID'];
$rezultat_kalendar = mysqli_query($link, "SELECT * FROM smjestaj_kalendar WHERE KalendarSmjestaj=$SmjestajID ORDER BY KalendarID ASC");
while ($record = mysqli_fetch_array($rezultat_kalendar)) {
    $event_array[] = array(
        'id' => $record['KalendarID'],
        'title' => "Rezervirano",
        'start' => $record['KalendarDatum'],
        'allDay' => true
     );
}
echo json_encode($event_array);
?> 

关于php - FullCalendar 和 json 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28167955/

相关文章:

php - 注意 : Undefined variable: table in C:\XAMPP\htdocs\progscores. php 第 27 行

php - 获取 30 天前的日期并转换为 iso8601 格式

PHP/MySQL 排序多维数组

javascript - 如何使用 javascript 删除 tile(metro ui css) 的缩放效果

jquery ui 删除助手

mysql 查询 : find if at least one number 2 is in a set of fields

php - Facebook API 返回未捕获异常 : 604: Your statement is not indexable

php - 如何获取当前订单项的产品类别?

javascript - 将 js 变量打印到另一个 js 文件中的 innerHTML 调用中

MySql CONCAT 将数据添加到列的开头和结尾