我已经安装在网站上fullcalendar,它的工作原理确定从默认源,一个名为JSON-events.php看起来绘制它的数据是这样Fullcalendar数据库
{ $year = date('Y');
$month = date('m');
echo json_encode(array(
array(
'id' => 111,
'title' => "Event1",
'start' => "$year-$month-10",
'url' => "http://yahoo.com/"
),
array(
'id' => 222,
'title' => "Event2",
'start' => "$year-$month-20",
'end' => "$year-$month-22",
'url' => "http://yahoo.com/"
),
array(
'id' => 333,
'title' => "Event3",
'start' => "$year-$month-25",
'url' => "http://yahoo.com/"
)
));}
所以我的问题是要写入数据从数据库转换成json-events.php,以便可以通过fullcalendar获取它。
这是我的代码:
{include 'db_connection.php';
//perform database query
$result = mysql_query("SELECT * FROM mhall_cal");
if (!$result) {
die("Database query failed: " . mysql_error());
}
$num = mysql_num_rows($result);
$bookings = array();
for($i=0;$i<$num;$i++){
$row = mysql_fetch_array($result);
print_r($row);
$id = $row['id'];
$title = $row['title'];
$start = $row['start'];
$start_time = $row['start_time'];
$end = $row['end'];
if($end=='0000-00-00'){$end='';}
$url = $row['url'];
$bookings = array(
'id' => '$id',
'title' => '$title',
'start' => '$start',
'end' => '$end',
'url' => '$url'
);
}
echo json_encode($bookings);}
并且当我在浏览器中显示的JSON-events.php我得到:
{阵列([0] => 1 [ID] => 1 [1] =>事件1 [标题] =>事件1 [2] => 2013-03-12 [开始] => 2013-03-12 [3] => 21:00:00 [start_time] => 21 :00:00 [4] => 2013-03-14 [end] => 2013-03-14 [5] => [url] =>)Array([0] => 2 [id] => 2 [ 1] =>事件2 [title] =>事件2 [2] => 2013-04-24 [start] => 2013-04-24 [3] => [start_time] => [4] => 2013-数组([0] => 12 [id] => 12 [1] =>事件3 [标题] =>事件3 [2] => 2013-05-10 [开始] = > 2013-05-10 [3] => [start_time] => [4] => 2013-05-11 [end] => 2013-05-11 [5] => [url] =>){“id “:”$ id“,”title“:”$ title“,”start“:”$ start“,”end“:”$ end“,”url“:”$ url“}}
我是新的json,但我认为花括号中的最后一部分是json编码,但它不能正常工作。
任何人都可以请建议如何解决这个问题?
首先解决你的PHP问题:你显示的输出不对应最后一个'echo',它只输出大括号中的最后一个列表。这样就显示出来了,因为''var''不会评估'$ var'(删除单引号)。你也可能想'array_push($ bookings,...)'而不是在每个循环中分配它等等。 – MaxD 2013-03-11 06:20:32