MySQL、JSON 和全日历
MySQL, JSON and Fullcalendar
我正在努力将 MySQL 事件集成到 Fullcalendar 中。
我读了很多 guide/post 但我无法从 json 脚本导入事件。
现在,如果我将 "myfeed.php" 的 JSON 结果粘贴到 fullcalendar 中,我的日历就会工作并且它包括所有事件。如果我link fullcalendar 到myfeed.php,日历是空的。我也尝试过将我的日历 link 更改为完整日历的 "get-events.php"(应该与 myfeed.php 一起使用),但日历始终是空的。 :/
这是我的完整日历:
$(document).ready(function() {
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
editable: true,
eventLimit: true, // allow "more" link when too many events
events: {
url: 'fullcalendar/php/get-events.php',
//url: 'fullcalendar/myfeed.php',
error: function() {
$('#script-warning').show();
}
},
loading: function(bool) {
$('#loading').toggle(bool);
}
});
});
这是myfeed.php的结果:
[{“id”:”1″,”title”:”allenamentosimone”,”allDay”:”false”,”start”:”1423036800″,”end”:”1423044000″,”url”:”pippo”},
{“id”:”2″,”title”:”allenamentodue”,”allDay”:”true”,”start”:”1423310400″,”end”:”1423335600″,”url”:”pluto”}]
和myfeed.php是visible on pastebin
(对于站点 jsonformatter,结果是有效的 json,但文件不是有效的 json)。
有什么建议吗?
更新:
我已经更改了事件 url:
url: 'fullcalendar/myfeed.php'
另外,我在 YYYY-MM-DD HH:II:SS 中更改了 json 的日期格式,现在我可以在全日历。但是我在全天模式下看到所有事件:/
这是新的 json 返回:
[
{"id":"1","title":"allenamentosimone","allDay":"false","start":"2015-02-04 09:00:00","end":"2015-02-04 11:00:00","url":"pippo"},
{"id":"2","title":"allenamentodue","allDay":"true","start":"2015-02-07 13:00:00","end":"2015-02-07 20:00:00","url":"pluto"}
]
更新 N.2:
如果我不在 allDay 部分写任何东西,我的全日历就可以完美运行!这是最后一次 json 返回:
[
{"id":"1","title":"allenamentosimone","allDay":"","start":"2015-02-04 09:00:00","end":"2015-02-04 11:00:00","url":"pippo"},
{"id":"2","title":"allenamentodue","allDay":"true","start":"2015-02-07 13:00:00","end":"2015-02-07 20:00:00","url":"pluto"}
]
events
应该是单个 url 以从数据库中获取数据。
所以像这样替换事件:
events: 'fullcalendar/php/get-events.php',
检查浏览器检查器是否尝试访问数据库文件。 在 Chrome 中,它使用 Ctrl+Shift+i 打开并导航到 Network
选项卡.数据库 URL 相对于您使用它的浏览器 url。
例如,如果您有第 testfullcalnedar.io/mycalendar
页
假设您的 php 位于 testfullcalnedar.io/mycalendar/fullcalendar/php/get-events.php'
.
然后在脚本事件中 feed URL 将是 fullcalendar/php/get-events.php
或 /mycalendar/fullcalendar/php/get-events.php
说明 - 如果您使用 /
开始 feed URL 它将从您域的根开始搜索它否则它将搜索相对于位置的位置脚本是。在我的示例案例中,脚本在 testfullcalnedar.io/mycalendar
下运行
我正在努力将 MySQL 事件集成到 Fullcalendar 中。
我读了很多 guide/post 但我无法从 json 脚本导入事件。 现在,如果我将 "myfeed.php" 的 JSON 结果粘贴到 fullcalendar 中,我的日历就会工作并且它包括所有事件。如果我link fullcalendar 到myfeed.php,日历是空的。我也尝试过将我的日历 link 更改为完整日历的 "get-events.php"(应该与 myfeed.php 一起使用),但日历始终是空的。 :/
这是我的完整日历:
$(document).ready(function() {
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
editable: true,
eventLimit: true, // allow "more" link when too many events
events: {
url: 'fullcalendar/php/get-events.php',
//url: 'fullcalendar/myfeed.php',
error: function() {
$('#script-warning').show();
}
},
loading: function(bool) {
$('#loading').toggle(bool);
}
});
});
这是myfeed.php的结果:
[{“id”:”1″,”title”:”allenamentosimone”,”allDay”:”false”,”start”:”1423036800″,”end”:”1423044000″,”url”:”pippo”},
{“id”:”2″,”title”:”allenamentodue”,”allDay”:”true”,”start”:”1423310400″,”end”:”1423335600″,”url”:”pluto”}]
和myfeed.php是visible on pastebin (对于站点 jsonformatter,结果是有效的 json,但文件不是有效的 json)。
有什么建议吗?
更新:
我已经更改了事件 url:
url: 'fullcalendar/myfeed.php'
另外,我在 YYYY-MM-DD HH:II:SS 中更改了 json 的日期格式,现在我可以在全日历。但是我在全天模式下看到所有事件:/
这是新的 json 返回:
[
{"id":"1","title":"allenamentosimone","allDay":"false","start":"2015-02-04 09:00:00","end":"2015-02-04 11:00:00","url":"pippo"},
{"id":"2","title":"allenamentodue","allDay":"true","start":"2015-02-07 13:00:00","end":"2015-02-07 20:00:00","url":"pluto"}
]
更新 N.2:
如果我不在 allDay 部分写任何东西,我的全日历就可以完美运行!这是最后一次 json 返回:
[
{"id":"1","title":"allenamentosimone","allDay":"","start":"2015-02-04 09:00:00","end":"2015-02-04 11:00:00","url":"pippo"},
{"id":"2","title":"allenamentodue","allDay":"true","start":"2015-02-07 13:00:00","end":"2015-02-07 20:00:00","url":"pluto"}
]
events
应该是单个 url 以从数据库中获取数据。
所以像这样替换事件:
events: 'fullcalendar/php/get-events.php',
检查浏览器检查器是否尝试访问数据库文件。 在 Chrome 中,它使用 Ctrl+Shift+i 打开并导航到 Network
选项卡.数据库 URL 相对于您使用它的浏览器 url。
例如,如果您有第 testfullcalnedar.io/mycalendar
页
假设您的 php 位于 testfullcalnedar.io/mycalendar/fullcalendar/php/get-events.php'
.
然后在脚本事件中 feed URL 将是 fullcalendar/php/get-events.php
或 /mycalendar/fullcalendar/php/get-events.php
说明 - 如果您使用 /
开始 feed URL 它将从您域的根开始搜索它否则它将搜索相对于位置的位置脚本是。在我的示例案例中,脚本在 testfullcalnedar.io/mycalendar