2013-10-29 64 views
0

我目前正在嘗試爲FullCalendar創建JSON Feed。我目前有一個工作示例,但輸出不會將我的數據庫放到日曆中。有人有主意嗎?我一直停留在這個現在..無法在Fullcalendar上顯示數據庫

在我的代碼:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <link href='css/fullcalendar.css' rel='stylesheet' /> 
    <script src='js/jquery-1.9.1.min.js'></script> 
    <script src='js/jquery-ui-1.10.2.custom.min.js'></script> 
    <script src='js/fullcalendar.min.js'></script> 
    <script> 

$(document).ready(function() { 

    var date = new Date(); 
    var d = date.getDate(); 
    var m = date.getMonth(); 
    var y = date.getFullYear(); 

    var calendar = $('#calendar').fullCalendar({ 
     editable: true, 

     events : "test1.php", 
    eventClick: function(event) { 
      // opens events in a popup window 
      window.open(event.url, '', 'width=700,height=600'); 
      return false; 
     }, 

     loading: function(bool) { 
      if (bool) { 
       $('#loading').show(); 
      }else{ 
       $('#loading').hide(); 
      } 
     } 

    }); 

}); 

    </script> 
    <style> 

body { 
    margin-top: 40px; 
    text-align: center; 
    font-size: 14px; 
    font-family: "Lucida Grande",Helvetica,Arial,Verdana,sans-serif; 
    } 

#calendar { 
    width: 900px; 
    margin: 0 auto; 
    } 

    </style> 
    </head> 
    <body> 
    <div id='calendar'></div> 
    </body> 
    </html> 

代碼test1.php

$link = mysql_connect('localhost','root','abc123'); 
if (!$link) { die('Could not connect: ' . mysql_error()); } 
mysql_select_db('trainingcourse'); 

$result = mysql_query("SELECT * FROM tbl_course "); 

Initializes a container array for all of the calendar events 
$jsonArray = array(); 

    while($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
    { 
    $eventtest = $row['courseid']; 
    $startdate = $row['startdate']; 
    $starttime = $row['starttime']; 
    $enddate = $row['enddate']; 
    $endtime = $row['endtime']; 

    // Stores each database record to an array 
    $buildjson = array('courseid' => "$eventtest", 'startdate' => "$startdate", 'enddate' => "$enddate", 'allday' => false); 

    // Adds each array into the container array 
    array_push($jsonArray, $buildjson); 
     } 
    // Output the json formatted data so that the jQuery call can read it 
    echo json_encode($jsonArray); 
     ?> 

這是無法顯示的日曆。

我非常感謝您的幫助。

回答

0

你可以試試嗎?

<?php 
$link = mysql_connect('localhost','root','abc123'); 
if (!$link) { die('Could not connect: ' . mysql_error()); } 
mysql_select_db('trainingcourse',$link); 

$result = mysql_query("SELECT * FROM tbl_course "); 


    while($row = mysql_fetch_assoc($result, MYSQL_ASSOC)) 
    { 
    $eventtest = $row['courseid']; 
    $startdate = $row['startdate']; 
    $starttime = $row['starttime']; 
    $enddate = $row['enddate']; 
    $endtime = $row['endtime']; 

    // Stores each database record to an array 
    $buildjson[] = array(
         'courseid' => $eventtest, 
         'startdate' => $startdate, 
         'enddate' => $enddate, 
         'allday' => false 
         ); 


    } 
    // Output the json formatted data so that the jQuery call can read it 
    echo json_encode($buildjson); 
     ?><br> 

希望它有效。請嘗試打印結果print_r($ buildjson);

+0

感謝您的答覆。但是,我嘗試過,和以前一樣。它無法在日曆上顯示數據庫。 – Mahou

+0

你可以檢查你使用的PHP版本嗎? json_encode()僅適用於PHP 5.3.0及更高版本。此代碼適用於我。 – Shudmeyer

+0

我查了版本是PHP 5.1.6。基本上,我不知道我的代碼有什麼問題。請幫忙!! – Mahou

0

試試這個,它爲我工作

在你的PHP代碼: 標題( '內容類型:應用程序/ JSON');

echo json_encode($ jsonArray);

你的html代碼: 將此選項添加到您的日曆: eventSources:

  // your event source 
      { 
       url: 'url/of/your/jsonphp', 
       type: 'POST', 
       data: { 
        custom_param1: 'something', 
        custom_param2: 'somethingelse' 
       }, 
       error: function() { 
        alert('there was an error while fetching events!'); 
       }, 
       color: '#dadada', 
       textColor: '#000000' 
      } 
+0

嘿,我不知道位置「標題('Content-Type:application/json');」是。 index.php或test1.php ??還有事件源在哪裏?請指教。謝謝。 – Mahou

+0

應該在輸出JSON數據之前調用頭文件('Content-Type:application/json')。它應該位於test1.php文件中。 eventSources應該在您的index.php日曆初始化期間 – sirking1991

+0

我再次嘗試。但是,它無法在屏幕上再次顯示。 – Mahou