php - 如果数据库更改,则全日历自动刷新

标签 php mysql fullcalendar

我正在使用 Fullcalendar v1 开发应用。

我成功地集成了与 mysql 数据库的连接,因此我的事件作为 json 数组从数据库加载。但是我的应用程序将在一瞬间使用超过 2 个人,所以我需要在我的数据库更改后自动刷新。如果一个用户删除事件,日历会为看到此日历的所有其他用户刷新。

我制作了一个实验脚本。它有效但不如我想要的。 我知道,这个脚本很糟糕,但我很沮丧。

<script>
var i = setInterval(function(){
last_id = $.cookie('last_id');

$.get("foo.php", function(data) {
       var id = data;


 if(last_id !== id) {

            $('#calendar').fullCalendar('changeView', 'month');
            $('#calendar').fullCalendar('removeEvents');
            $('#calendar').fullCalendar('refetchEvents');
            $('#calendar').fullCalendar( 'rerenderEvents');



last_id = $.cookie('last_id', data);
 }

 });
},500);
</script>

它的工作非常简单...... foo.php 加载行数。如果这个数字不是最后保存在 cookie 中的数字,日历将被刷新。

这种方法有很多缺点和错误。它仅适用于删除和创建事件。不适用于移动等。它通过每 500 毫秒获取结果来减慢应用程序 ..

你有更好的解决方案吗?

最佳答案

我有类似的结构..从数据库中获取数据作为 JSON...

我制作了一个用于更改事件的模式...

当我按下调用我的数据库更新事件的按钮时..

我在后面使用...一个名为 (.trigger('click')) 的 jQuery 函数,所以...

 $('.fc-prev-button').trigger('click');
 $('.fc-next-button').trigger('click');
  //Hide Modal.. button have a data-dismiss="modal"
 $('#closeEdit').trigger('click');

这是我的解决方案,因为当加载 fullCalendar 时调用事件.. 从我的数据库中获取数据的参数...因此当您更改月份时,将再次调用它以重新加载数据并且不会加载完整月份的数据。 .

对不起我的英语,我希望能帮助你,快乐编码!!

关于php - 如果数据库更改,则全日历自动刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27110999/

相关文章:

php - Mysql查询结果距当前日期不大于1个月

php - 代码不会在数据库中写入值

PHP 在最新版本中的语法更改

jquery-mobile - 如何让 FullCalendar 在触控设备上工作?

javascript - FullCalendar:最初未从函数调用 (AJAX) 呈现的事件

php - ORM (doctrine) 和 SQL 之间的代码比较?

php - 如何在用户点击提交按钮时将数据发送回相同的表单

MySQL 全文搜索查询缺失结果

javascript - 将鼠标悬停在 FullCalendar 中的“事件日”单元格上

PHP: 7 PDO fetch(All) 尝试将类型转换为关联类型