从数据库中填充全日历 javascript 中的事件
Posted
技术标签:
【中文标题】从数据库中填充全日历 javascript 中的事件【英文标题】:Populating events in full calender javascript from the database 【发布时间】:2015-07-17 12:02:57 【问题描述】:我正在使用codeigniter
在 php 中创建一个预订系统。现在我想根据我从数据库中获取的值在完整的日历中填充事件。
我的代码:
<script src='<?php echo base_url();?>assets/fullcalendar/fullcalendar.min.js'></script>
<?php
$var=0;
foreach($query->result() as $row)
$var++;
$booking_date = $row->booking_date;
$booking_start_time = $row->booking_start_time;
?>
<script>
$(document).ready(function()
// page is now ready, initialize the calendar...
var booking_date = '<?php echo $booking_date; ?>';
var booking_start_time = '<?php echo $booking_start_time; ?>';
$('#calendar').fullCalendar(
header:
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
,
events: [
title: 'House Cleaning',
start: booking_date + 'T' + booking_start_time,
allDay: false
]
);
);
</script>
使用上面的方法,我可以获得完整日历上的最后一条记录。我想将从数据库中获取的每条记录填充到完整的日历js
。我该怎么做。
提前致谢,如果我含糊其辞,我深表歉意,但我随时准备根据问题进一步解释。
谢谢,
【问题讨论】:
【参考方案1】:在您的 php 中构建一个数组,并在您的 javascript 中将其格式化为 json。将格式化的 json 传递给事件属性,如下所示:
events: buildRecordsToJson(calendar_records)
function buildRecordsToJson(calendar_records)
var employees = [];
for(var record in calendar_records)
var item = calendar_records[record];
employees.push(
"title" : "Case # " + item.case_number,
"record" : item.id,
"start" : item.case_due_date
);
return employees;
编辑:
假设这是你的结果
$result=mysqli_query($con,$sql);
从数据库中迭代结果集并将其推送到主数组。
$list = array();
while ($row = mysqli_fetch_row($result))
$entry = array();
$entry["booking_date"] = $row["booking_date"];
$entry["booking_start_time"] = $row["booking_start_time"];
array_push($list,$entry);
mysqli_free_result($result);
将 $list 数组返回到您的 javascript 并在您将其格式化为 json 后将其提供给您的日历事件(可能没有必要)。
【讨论】:
谢谢。另外我如何在php中构建一个数组?如果可能的话,请帮助我。在我的代码中,每次循环运行时都会覆盖变量 $booking_start_time。以上是关于从数据库中填充全日历 javascript 中的事件的主要内容,如果未能解决你的问题,请参考以下文章
如何从 api 动态填充日历标记的日期 - React Native,redux