【问题标题】:Populating events in full calender javascript from the database从数据库中填充全日历 javascript 中的事件
【发布时间】: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。我该怎么做。

提前致谢,如果我含糊其辞,我深表歉意,但我随时准备根据问题进一步解释。

谢谢,

【问题讨论】:

    标签: javascript php mysql codeigniter fullcalendar


    【解决方案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。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-20
    • 1970-01-01
    • 2016-07-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多