fullcalendar mysql选择WHERE当前日期范围



我使用fullcalendar处理mysql数据库,使用php从数据库中获取数据。我正在尝试使用完整日历"getview"中的数据修改选择。我需要当前的视图的第一天的月,我正在尝试实现这个代码:

resources: 
{ 
url: 'resources.php',
data: {'period_start': moment( $("#calendar").fullCalendar("getView").intervalStart ).format("YYYY-MM-DD"), 'period_end': moment( $("#calendar").fullCalendar("getView").intervalEnd ).format("YYYY-MM-DD") } ,
//  data:{'period_start':test},
type: 'POST',
error: function() {
$('#script-warning').show();
}
},

不幸的是,这总是给我当前日期,而不是视图的开始或其他任何信息。我在这里错过了什么?

一切都完美地进入了mysql,select与post配合使用。唯一的问题是它总是给我今天的日期,这是没有用的。

如果我使用这个代码,它工作得很好。当点击一个事件时,它会给我当前视图的第一天:

eventClick: function(event) {
alert(moment( $("#calendar").fullCalendar("getView").intervalStart ).format("YYYY-MM-DD"));
}, 

编辑:

我添加了一个功能:

function start(){
var view =$("#calendar").fullCalendar("getView").start;
return view};

当我在eventclick中使用start()时,它工作得很好,但在资源中使用时就不行了。我想我必须把资源作为一个函数(链接)来构建,但我太笨了,无法理解这一点。我甚至可以以某种方式使用函数从mysql获取提要吗?

我设法找到了这个半美元的解决方案。确实可以,但它需要用户进行一些不必要的刷新以获取最新信息。

function start(){return Cookies.get('fullCalendarStart');};
$('#calendar').fullCalendar({
viewRender: function(view) {
Cookies.set('fullCalendarStart', view.intervalStart.format(), {path: ''});
},
resources: 
{ 
url: 'resources.php',
data:{'period_start':start()},
type: 'POST'
}
{)

这将把视图的开始日期发布到resources.php post,在那里我可以获取它并在mysql-select中使用它。你可以从Fullcalendar中添加任何你喜欢的东西,把它放在cookie中,然后在mysql中使用——选择这种方式。

不幸的是,这不是一个完美的解决方案,我仍然希望在没有cookie的情况下让它发挥作用。

编辑

还有一个更好的解决方案:

resources: function(callback){
setTimeout(function(){
var view = $('#calendar').fullCalendar('getView');
$.ajax({
url: 'feed.php',
dataType: 'json',
cache: false,
data: {
start: view.start.format(),
end: view.end.format(),
timezone: view.options.timezone
}
}).then(function(resources){callback(resources)});      
},0);
},

这将添加开始和结束参数,如获取事件时。您可以添加$feed_start = $_GET['start'];至feed.php并使用mysql-select中的变量CCD_ 2。我从https://github.com/fullcalendar/fullcalendar-scheduler/issues/246?_pjax=%23js-repo-pjax容器

相关内容

  • 没有找到相关文章

最新更新