【发布时间】:2012-09-06 19:46:19
【问题描述】:
我正在使用这样的 php 从 MySql 中检索数据 =>
while ($birthday_row = $birthday_r->fetch_row()){
$birthday_array[] = array(
'title' => $birthday_row[0],
'start' => $birthday_row[1] . "-" . $birthday_row[2]
);
}
JavaScript:
var json_obj_birthday = <?php if (isset($birthday_array)){echo json_encode($birthday_array);} ?>;
var json_obj_birthday_len = json_obj_birthday.length;
var d = new Date();
var event = [];
for (var i=0;i<json_obj_birthday_len;i++){ // adding manually year
json_obj_birthday[i].start = d.getFullYear() + "-" + json_obj_birthday[i].start;
event = {
'title' : json_obj_birthday[i].title,
'start' : json_obj_birthday[i].start
};
}
在上面的 JavaScript 代码到 event 数组中只存储第一个数据,它只存储 json_obj_birthday[0],我怎样才能将所有信息存储到 event 数组中?谢谢
PS。我希望该数组 event 使用完整信息进行 json 编码
更新
现在我已经尝试过这样的
var events = <?php if (isset($birthday_array)){echo json_encode($birthday_array);} ?>;
var d = new Date();
for (var i = 0; i < events.length; i++){
events[i].start = d.getFullYear() + "-" + events[i].start;
}
也没有得到想要的结果
第二次更新
我需要我正在尝试做的事情,因为想将这个 event 变量传递到 jQuery 完整日历中,这里是脚本 =>
jQuery("#calendar").fullCalendar({ // initialize full calendar
header: {
left: 'prev,next today',
center: 'title',
right: 'month,basicWeek,basicDay'
},
events: [
event
] // here was my fault , I must to have `events: event,`
});
你的代码绑定后,日历中的信息没有插入,这就是我的意思不工作
PS。如果有人对我在做什么以及为什么更感兴趣,请也看看我之前的问题add birthday events into jQuery full calendar each year
【问题讨论】:
-
您正在为该 javascript 循环中的事件分配一个“对象”,而不是数组中的索引。
-
event.push({title: json_obj_birthday[i].title, start: json_obj_birthday[i].start});和 JSON.stringify(event) 用于转换为 JSON
-
@IgnacioVazquez-Abrams
event = [];如果不是多维数组? -
很好。看看你在循环中做了什么。
标签: php javascript json