FullCalendar应用——读取JSON数据

开发者可以使用FullCalendar创建强大的日历日程应用,FullCalendar提供了丰富的选项设置和方法调用,使得开发者可以轻松的创建各种功能的日历程序。本文将结合实例使用PHP读取MySQl数据,显示在FullCalendar日历中。

查看演示DEMO

根据FullCalendar日历插件说明文档中的介绍,日历主体事件数据的来源有三,一是直接以javascript数组的形式显示日历事件,二是获取JSON数据形式显示日历事件,三是函数回调的形式显示日历数据,三种调用数据的方式各有所用之处,通常我们在实际项目中会结合数据库,通过PHP等后台语言来读取数据库的数据,并以json格式返回给前端,FullCalendar再处理接收的json数据显示在日历中。

HTML

一切像前面文章:日程安排FullCalendar介绍的一样,在页面中载入必要的javascript和css文件。

 
<link rel="stylesheet" type="text/css" href="css/fullcalendar.css"> 
<script src="js/jquery-1.9.1.min.js"></script> 
<script src="js/jquery-ui-1.10.2.custom.min.js"></script> 
<script src="js/fullcalendar.min.js"></script> 

然后,在页面的body里加入div#calendar,用来放置日历主体。

 
<div id=‘calendar‘></div> 

jQuery

我们用以下代码调用FullCalendar,保存后浏览,我们可以看到页面中呈现一个漂亮的日历表,但是日历中没有具体的事件内容,我们使用FullCalendar最主要的是要在FullCalendar中展示日程安排中的事件,给用户直观的展示过去或未来时间内安排的事情。FullCalendar中的事件数据来源在events选项控制,当然如果是有多个数据来源可以使用eventSources选项。

 
$(function() { 
    $(‘#calendar‘).fullCalendar({ 
        header: {//设置日历头部信息 
            left: ‘prev,next today‘, 
            center: ‘title‘, 
            right: ‘month,agendaWeek,agendaDay‘ 
        }, 
        firstDay:1,//每行第一天为周一 
        editable: true,//可以拖动 
        events: ‘json.php‘    //事件数据 
    }); 
}); 

PHP

从jQuery代码中我们可以看出,FullCalendar所有事件数据来自于json.php。json.php通过连接后台MySQL数据库,读取符合条件的事件数据,并最终以JSON数据格式的形式返回,请看代码:

 
include_once(‘connect.php‘);//连接数据库 
 
$sql = "select * from calendar"; 
$query = mysql_query($sql); 
while($row=mysql_fetch_array($query)){ 
    $allday = $row[‘allday‘]; 
    $is_allday = $allday==1?true:false; 
     
    $data[] = array( 
        ‘id‘ => $row[‘id‘],//事件id 
        ‘title‘ => $row[‘title‘],//事件标题 
        ‘start‘ => date(‘Y-m-d H:i‘,$row[‘starttime‘]),//事件开始时间 
        ‘end‘ => date(‘Y-m-d H:i‘,$row[‘endtime‘]),//结束时间 
        ‘allDay‘ => $is_allday, //是否为全天事件 
        ‘color‘ => $row[‘color‘] //事件的背景色 
    ); 

echo json_encode($data); 

值得一提的是,在返回的json数据中,每个字段如id,title..对应着FullCalendar的Event
Object事件对象中的属性id,title..。

我们将最终数据以json_encode()输出,然后,前端FullCalendar会解析json数据并显示在日历中,这些FullCalendar都替我们做好了,只管刷新前端页面看下效果吧。

FullCalendar的读取数据操作很简单,接下来我们会讲述如何在FullCalendar日历中新增、修改和删除事件,敬请关注。

最后附上demo中的MySQL数据表calendar的表结构:

 
CREATE TABLE IF NOT EXISTS `calendar` ( 
  `id` int(11) NOT NULL AUTO_INCREMENT, 
  `title` varchar(100) NOT NULL, 
  `starttime` int(11) NOT NULL, 
  `endtime` int(11) DEFAULT NULL, 
  `allday` tinyint(1) NOT NULL DEFAULT ‘0‘, 
  `color` varchar(20) DEFAULT NULL, 
  PRIMARY KEY (`id`) 
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 

转载 http://www.helloweba.com/view-blog-232.html

时间: 2024-10-14 07:03:54

FullCalendar应用——读取JSON数据的相关文章

当向后台插入或读取JSON数据遇见回车时

今天在项目中发现,当插入或读取JSON数据时遇见回车符,返回JSON数据格式时会报错(firebug里体现为乱码),百度了一下发现JSON不支持字符串里存在回车! 解决办法: 在向接口插入带json格式的数据之前,将回车等特殊符合替换成json接受的符号: 在向接口请求读取json格式的数据时,将回车等特殊符合替换成json接受的符号: 发送到后台 myPostStr.replace(/[\r\n]/g,"|"); //将myStr字符串里的回车和换行符替换成"|"

iOS彩票项目--第七天,初次读取json数据、KVC转模型技巧、运行时字典转模型以及初步对显示网页的操作并且跟踪标签

一.初次读取json数据 二.KVC转模型技巧,这里的技巧主要解决的是字典中的key 与 模型中有的属性对应不起来的时候 的解决办法 <方法1> <方法2>运行时字典转模型,运行时自己一直很晕.不过还是整理下来,方便以后用. 这里直接创建了一个分类. 头文件代码 1 // 2 // NSObject+Model.h 3 // Chaos_G 4 // 5 6 #import <Foundation/Foundation.h> 7 8 @interface NSObjec

Android 读取 json 数据(遍历jsonarray和jsonboject)-FenGKun

Android 读取 json 数据(遍历jsonarray和jsonboject) public String getJson(){ String jsonString = "{\"FLAG\":\"flag\",\"MESSAGE\":\"SUCCESS\",\"name\":[{\"name\":\"jack\"},{\"name\"

Java解析(读取)Json数据

以前看过书上说,XML是web service间传输信息的标准格式吧,就看了看XML.最近在做个网站,又说是有了JSON,第一回听说就看了看,总结总结一下. 1.JSON介绍 JSON比XML简单,主要体现在传输相同信息的情况下,文件的大小不同. JSON只用于传输信息,XML还可以用于配置文件的使用. JSON中的符号主要有: " , [ {: 2.JSON中的数组和对象 2.1数组(JSONArray) 数组用一对[],表示存放的是一般的数组数据. 如:["11",&qu

pythhon_如何读取json数据

案例: 在web应用中常常用到json数据进行传输数据,本质上是字典类型数据转换成字符串,通过字符串进行网页传输,然后把接收到的字符串转换成字典类似数据 需求:实现字典转换成字符串,字符串转换成字典数据类型,写入文件 如何做? 明确dumps和dump的区别,dump的接口是文件,直接写入文件,dumps把对应的数据类型转换成字符串,loads 和dumps相反,load直接从文件中读取文件并把数据转换成对应的数据类型 先进行数据转换,字符串作为中间桥梁 #!/usr/bin/python3 i

利用Python读取json数据并求数据平均值

要做的事情:一共十二个月的json数据(即12个json文件),json数据的一个单元如下所示.读取这些数据,并求取各个(100多个)城市年.季度平均值. { "time_point": "2014-01", "area": "***", "aqi": "71", "pm2_5": "47", "pm10": "69&

MS SQL读取JSON数据

前面有一篇<在SQL中直接把查询结果转换为JSON数据>https://www.cnblogs.com/insus/p/10905566.html,是把table转换为json. 现反过来,当SQL从前端接收过来的数据是JSON的话,需要把它转换为TABLE.在MS SQL Server 2016有一个方法,OPENJSON. DECLARE @json_text NVARCHAR(MAX) SET @json_text = N' { "DB Type": [ {"

js读取json数据

{ "code": 0, "msg": null, "data": { "pageNum": 1, "pageSize": 5, "total": 1, "pages": 1, "list": [ { "pid": "0ccddaed355211e79954005056b233c9", "secti

无法读取json数据 Error: [$http:baddata]

控制台报了一处错误,并且在控制台页打印不出数据 1 2 3 4 5 6 7 8 9 10 11  Error: [$http:baddata] http://errors.angularjs.org/1.6.4/$http/baddata?p0=%5B%7B%0D%0A%09%22id%22%-C%0D%0A%09%22like%22%20%20%20%20%3A%2298.93%25%22%0D%0A%7D%5D%3B&p1=%7B%7D     at angular.min.js:6