从数据库中获取特定日期范围内的FullCalender.io事件对象(JSON)

EVA最后

我有一个庞大的数据库和很多事件。每次我进入“日历主页”(每月视图)时,都会加载数据库中的所有现有事件,尽管我只查看当前月份。目前,我的html页面超过3MB,并且倾向于减慢我的浏览器标签。

为了解决这个问题,我开始更改代码以仅获取当月的事件作为json。不幸的是,日期范围的开始和结束日期不起作用-该页面仍在从数据库中获取所有事件。我已经进行了几个小时的研究和许多调整。

我正在使用FullCalendar V3.10

到目前为止,我设法获取了FullCalendar.io事件-我有两个事件源-因此我使用了:

eventSources: [
    {
        url: 'include/load-calendar-event.php', // use the `url` property
        color: '#008000',   
    },              
    {
        url: 'include/load-calendar-event-retour.php', // use the `url` property
        color: '#008000',
    },                          

    // any other sources...
],

用于获取事件的相应两个文件几乎相同-因此一个文件应该足够:

load-calendar-event.php

require_once('bdd.php');
$sql = "SELECT * FROM messages"; // this selects all rows
$req = $bdd->prepare($sql);
$req->execute();
$events = $req->fetchAll();

$data = array();

foreach($events as $event) {
    $start = explode(" ", $event['start']);
    $end = explode(" ", $event['end']);
    if($start[1] == '00:00:00'){
        $start = $start[0];
    }else{
        $start = $event['start'];
    }
    if($end[1] == '00:00:00'){
        $end = $end[0];
    }else{
        $end = $event['end'];
    }   

    $data[] = array(    
        'id'=> $event['id'],
        'title'=> $event['title'],                              
        'start'=> $start,
        'end'=> $end,
        'color'=> $event['color']   
    );
}

echo json_encode($data);

通过调用日历页面,浏览器将进行以下调用-请注意日期(2020-01-01-2020-02-01)和数据格式:

...include/load-calendar-event.php?start=2020-01-01&end=2020-02-01&_=1578601056565

...include/load-calendar-event-retour.php?start=2020-01-01&end=2020-02-01&_=1578601056566

萤火虫中的通话截图

事件的日期格式以以下格式(YYYY-MM-DD HH:mm:ss)保存在数据库中

2020-01-11 10:00:00

题:

知道如何仅获取当月的事件吗?

用户名

为什么要选择表中的所有行并对其进行遍历?

您需要更新查询以获取作为$_GET参数传递的开始和结束值

require_once('bdd.php');
$sdate = $_GET['start']; //LIKE THIS
$edate = $_GET['end']; //AND THIS
$sql = "SELECT * FROM messages WHERE date >= ".$sdate." AND date <= ".$edate; // this selects all rows.  Change 'date' to whatever your column name is in the database.
$req = $bdd->prepare($sql);
$req->execute();
$events = $req->fetchAll();





$data = array();

foreach($events as $event) {

    $start = explode(" ", $event['start']);
    $end = explode(" ", $event['end']);
    if($start[1] == '00:00:00'){
        $start = $start[0];
    }else{
        $start = $event['start'];
    }
    if($end[1] == '00:00:00'){
        $end = $end[0];
    }else{
        $end = $event['end'];
    }   

    $data[] = array(    
        'id'=> $event['id'],
        'title'=> $event['title'],                              
        'start'=> $start,
        'end'=> $end,
        'color'=> $event['color']   
    );

}


echo json_encode($data);

您只需使用PHP的date函数生成开始日期和结束日期,而不是使用查询字符串参数传入变量,就可以更轻松地做到这一点。尽管这将为您提供更大的灵活性。如果设置了这些值,您甚至可以包含一些if / else语句来生成不同的查询。

参见:https : //www.php.net/manual/zh/function.date.php

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

搜索特定日期创建的数据库对象?

来自分类Dev

我正在尝试从mysql数据库获取日期到fullcalender.js事件

来自分类Dev

MySQL-获取给定日期范围内的并发事件总数

来自分类Dev

获取GeoFire中特定范围内的所有对象

来自分类Dev

在GeoFire中获取特定范围内的所有对象

来自分类Dev

给定日期范围,查找在该范围内重叠的事件

来自分类Dev

使用JavaScript获取日期范围内的特定日期

来自分类Dev

从数据库中检索给定日期范围内的可用房间及其床

来自分类Dev

从数据库中获取限制范围内的记录

来自分类Dev

如何查找在给定日期范围内创建的对象?

来自分类Dev

获取特定日期范围内的结果

来自分类Dev

无法获取在特定日期范围内创建的工件

来自分类Dev

如何检索特定日期范围内的数据?

来自分类Dev

过滤任何日期范围内的JSON数据

来自分类Dev

如何在 SQL Server 中查询特定日期范围内的数据

来自分类Dev

嵌套for循环以在特定范围内输出QuerySet中的对象

来自分类Dev

嵌套for循环以在特定范围内输出QuerySet中的对象

来自分类Dev

如果类别在给定日期范围内发生过多次,则列出事件

来自分类Dev

Keen.io中的嵌套JSON对象

来自分类Dev

如何过滤不在另一行中的事件值的特定时间范围内的数据框中的行?

来自分类Dev

C#:获取日期范围内的数据库记录

来自分类Dev

Oracle数据库获取特定日期之间的值

来自分类Dev

日期之间的JavaScript过滤以获取特定日期范围内的记录

来自分类Dev

从由日期行组成的表中,如何计算日期在特定日期范围内的行数

来自分类Dev

获取“ with”块范围内的文件对象

来自分类Dev

选择日期范围内的特定日期

来自分类Dev

FullCalendar.io从JSON事件扩展事件对象

来自分类Dev

在JavaScript中获取给定日期范围内的所有日期的列表

来自分类Dev

Laravel查询:在特定日期范围内获取所有未预订的车辆

Related 相关文章

  1. 1

    搜索特定日期创建的数据库对象?

  2. 2

    我正在尝试从mysql数据库获取日期到fullcalender.js事件

  3. 3

    MySQL-获取给定日期范围内的并发事件总数

  4. 4

    获取GeoFire中特定范围内的所有对象

  5. 5

    在GeoFire中获取特定范围内的所有对象

  6. 6

    给定日期范围,查找在该范围内重叠的事件

  7. 7

    使用JavaScript获取日期范围内的特定日期

  8. 8

    从数据库中检索给定日期范围内的可用房间及其床

  9. 9

    从数据库中获取限制范围内的记录

  10. 10

    如何查找在给定日期范围内创建的对象?

  11. 11

    获取特定日期范围内的结果

  12. 12

    无法获取在特定日期范围内创建的工件

  13. 13

    如何检索特定日期范围内的数据?

  14. 14

    过滤任何日期范围内的JSON数据

  15. 15

    如何在 SQL Server 中查询特定日期范围内的数据

  16. 16

    嵌套for循环以在特定范围内输出QuerySet中的对象

  17. 17

    嵌套for循环以在特定范围内输出QuerySet中的对象

  18. 18

    如果类别在给定日期范围内发生过多次,则列出事件

  19. 19

    Keen.io中的嵌套JSON对象

  20. 20

    如何过滤不在另一行中的事件值的特定时间范围内的数据框中的行?

  21. 21

    C#:获取日期范围内的数据库记录

  22. 22

    Oracle数据库获取特定日期之间的值

  23. 23

    日期之间的JavaScript过滤以获取特定日期范围内的记录

  24. 24

    从由日期行组成的表中,如何计算日期在特定日期范围内的行数

  25. 25

    获取“ with”块范围内的文件对象

  26. 26

    选择日期范围内的特定日期

  27. 27

    FullCalendar.io从JSON事件扩展事件对象

  28. 28

    在JavaScript中获取给定日期范围内的所有日期的列表

  29. 29

    Laravel查询:在特定日期范围内获取所有未预订的车辆

热门标签

归档