2015-05-07 2 views
1

Я делаю систему бронирования в php, используя codeigniter. Теперь я хочу заполнить события в полном календаре в зависимости от значения, которое я получаю из базы данных.Заполнение событий в полном календаре javascript из базы данных

Мой код:

<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. Как мне это сделать.

Заранее благодарим и извиняюсь, если я расплывчато, но я всегда готов объяснить дальше на основе вопроса.

Спасибо,

ответ

2

Построить массив в РНР и форматировать его как JSON в вашем JavaScript. Пропустите отформатированный 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; 
} 

Edit:

Предполагая, что это ваш результат

$result=mysqli_query($con,$sql); 

Iterate результирующие наборы из базы данных и нажать его основной массив ,

$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); 

Return $ список массив ваших JavaScript и кормить его календаря событий, после того, как вы отформатировали его JSON (может не понадобиться).

+0

спасибо. Также как я могу построить массив в php? Пожалуйста, помогите мне, если это возможно. В моем коде переменная $ booking_start_time переписывается каждый раз, когда цикл выполняется. –

+0

плохо отредактировал мой ответ – Sherlock

+0

Спасибо, Маку, работал очень хорошо. –

Смежные вопросы