FullCalendar 和 json 事件
FullCalendar and json events
我尝试使用 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);
?>
我尝试使用 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);
?>