2012-04-10 18 views
6

私はFullCalendar(http://arshaw.com/fullcalendar/)を使ってアプリケーションを設定しています。これにより、ユーザーはクライアントのスケジューリング情報を見ることができ、管理インターフェースを通じてクライアントをスケジュールすることができます。FullCalendarでJSONフィードの情報を表示するにはどうすればよいですか?

MySQLデータベースを使用して配列を生成し、その配列をJSONフィードの形式でHTMLページのFullCalendarに渡したいとします。理想的には、クライアント情報がHTMLページに表示されます。しかし、JSONフィードが渡されても、FullCalendarにイベントはありません。

渡されている例JSONフィード:

[{"title":"Watson","start":"1333976400","end":"1333980000","allDay":false}] 

私はこれらの言語にかなり新たなんだと、このミスはシンプルであることが判明する場合、私は驚かないだろう。

これらのイベントが表示されていることについての助力や洞察力を深く感謝します。 FullCalendarに手動で配列をフィードするとイベントが表示されますが、これまでのJSONフィードでは情報が表示されませんでした。

は、参考のためにあなたに

ありがとう: HTML:

 $(document).ready(function() {  
     $('#calendar').fullCalendar({ 
      events: '/json-events.php' 
     });  
}); 

PHP:

 while ($record = mysql_fetch_array($result)) { 
     $event_array[] = array(
      'id' => $record['id'], 
      'title' => $record['title'], 
      'start' => $record['start_date'], 
      'end' => $record['end_date'], 
      'allDay' => false 
     ); 
    } 

echo json_encode($event_array); 

答えて

7

この問題は、私の後に来る検索ユーザーにとって、私のPHPファイルにHTMLの頭部と身体のタグが付いていることでした。私はPHPのnoobだから私はそれが動作しない原因になるか分からなかった。 FullCalendarでJSONフィードを表示するには、PHPコードとHTMLは必要ありません。 JSONLint.comはそれを理解する上で非常に貴重でした。

1
events: '/json-events.php' 

events: './json-events.php' 
のいずれかでなければなりません

または

events: 'json-events.php' 

EDIT

...このことができますなら、私に知らせて、私はまた、JSONにあなたが行にIDがない受信していることに気づい。 DB内のIDの名前の間に、配列内で使用している名前と比較して何かが起こっている可能性があります。それがイベントを渡すために必要なプロパティの1つであるので、それをチェックし、それが起こっているかどうかを確認してください。

EDIT

[] $ event_arrayから[]を削除してみて、何が起こるか...私はstumpped私よりも問題が解決しない場合は表示さ...申し訳ありません

+0

これらのオプションの両方がうまく動作していないように見えますが、コメントに感謝し、おそらくその部分を修正しなければならないでしょう。私のカレンダーは空ですが、ロードしようとするとイベントが表示されません。 – Reed

+0

@Reed私の投稿を編集したばかりです –

+0

私はIDを渡していますが、役に立たないのです – Reed

5
私は簡単な例を設定し、任意のトラブルこれが動作するようになってを持っていなかった

PHP:

<?php 

$record[0]["title"]="Test 1"; 
$record[1]["title"]="Test 2"; 
$record[2]["title"]="Test 3"; 

$record[0]["start_date"]="1333976400"; 
$record[1]["start_date"]="1333976401"; 
$record[2]["start_date"]="1333976402"; 

$record[0]["end_date"]="1333980000"; 
$record[1]["end_date"]="1333980001"; 
$record[2]["end_date"]="1333980002"; 

$record[0]["id"]="1"; 
$record[1]["id"]="2"; 
$record[2]["id"]="3"; 

for ($i=0; $i<3; $i++) { 

    $event_array[] = array(
      'id' => $record[$i]['id'], 
      'title' => $record[$i]['title'], 
      'start' => $record[$i]['start_date'], 
      'end' => $record[$i]['end_date'], 
      'allDay' => false 
    ); 


} 

echo json_encode($event_array); 


exit; 

?> 

HTML:PHPから

events: '/events.php' 

サンプル出力スクリプト:

[{"id":"1","title":"Test 1","start":"1333976400","end":"1333980000","allDay":false},{"id":"2","title":"Test 2","start":"1333976401","end":"1333980001","allDay":false},{"id":"3","title":"Test 3","start":"1333976402","end":"1333980002","allDay":false}] 

上記のことが私にとってうまくいっていて、あなたが上にあるものとまったく同じだから、PHPスクリプトが実際に正しく呼び出されているかどうかチェックする必要があります。 Fullcalendarがイベントを読み込もうとしたときにエラーがスローされるかどうかを確認するには、Mozilla FirefoxまたはGoogle ChromeのJavascriptコンソールを確認してください。 PHPスクリプトの記述については、Webサーバーのアクセス/エラーログを確認してください。

関連する問題