2015-08-13 3 views
0

Я использую полный календарь для отображения различных типов событий для своей организации. Все событие находится в базе данных, и я использую этот файл php для получения событий.Добавить события из базы данных в fullcalendar

<?php 
$xml = array(); 
// Create connection 
$conn = new mysqli('localhost', 'root', ''); 
if(!$conn){ 
    $e = oci_error(); 
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR); 
}else{ 
    //echo "connection made"; 
} 
$db_selected = mysqli_select_db($conn, 'EventTracker'); 
if(!$db_selected){ 
    die("database not selected"); 
}else{ 
    $query="SELECT * FROM `events` WHERE `event_deletion` = 1"; 
    $result=mysqli_query($conn, $query); 
    if(!$result){ 
     trigger_error("dbget: ".mysql_error()." in ".$query); 
     return false; 
    }else{ 
     while($row = mysqli_fetch_assoc($result)) { 
      $obj = array(); 
      array_push($obj, $row['event_ID']); 
      array_push($obj, $row['event_name']); 
      array_push($obj, $row['event_start']); 
      array_push($obj, $row['event_end']); 
      array_push($xml, $obj); 
      //print_r($xml); 
     } 
     generateXML($xml); 
    } 
} 
//echo json_encode($xml); 
function generateXML($array){ 
    $xmlString = "events:"; 
    for ($i = 0; $i < sizeof($array);$i++){ 
     $obj = $array[$i]; 
     //print_r($obj); 
     $set = "{ 
      id: '" . $obj[0] . "'," . 
      "title:'" . $obj[1] . "'," . 
      "start:'" . $obj[2] . "'," . 
      "end:'" . $obj[3] . "'"."},"; 
      //echo $set . "\r\n"; 
     $xmlString = $xmlString . $set; 
    } 
    return $xmlString = $xmlString; 
} 
?> 

Я пытаюсь загрузить строку, сгенерированную из generateXML, в jquery-вызов для fullcalendar.

<script type="text/javascript"> 
var data = <?php echo generateXML($xml); ?> 
console.log(data) 
function getDates(){ 
    return data;  
} 
$(document).ready(function() { 

    // page is now ready, initialize the calendar... 

    $('#calendar').fullCalendar({ 
     // put your options and callbacks here 
     header: { 
      left: 'prev,next today', 
      center: 'title', 
      right: 'month,basicWeek,basicDay' 
     }, 
     //defaultDate: '2015-02-12', 
     editable: false, 
     eventLimit: true, // allow "more" link when too many events 
     events: [getDates()], 
    }) 

}); 
</script> 

Не уверен, в чем проблема, но любые подсказки или предложения помогут.

ответ

0

Какие ошибки вы получаете? Покажите нам, как выглядят результаты getDates(). Он должен быть отформатирован согласно полному календарю documentation и example должен быть чем-то вроде линий

  { 
       title: 'Event #1', 
       start: '2015-02-01' 
      }, 
      { 
       title: 'Event #2', 
       start: '2015-02-07', 
       end: '2015-02-10' 
      }, 
      { 
       title: 'Event #n', 
       start: '2015-02-07', 
       end: '2015-02-10' 
      } 
Смежные вопросы