2009-07-16 10 views
2

PHP json_encode関数を使用して、JSONをエンコードしてカレンダーをレンダリングするjQueryプラグインに送信しようとしています。プラグインの名前はFullCalendarです。JSON for jQuery Calendarのエンコード

私は、MySQLデータベースからイベントデータを取得し、それをJSON文字列でエンコードし始めましたが、問題が発生しました。プラグインに付属しているデフォルトのJSONの例は正常に動作しますが、私の場合は動作しません。

次のコード例は次のとおりです。 - link |ここに出力があります - link

ここに私のコードです - link |ここに出力があります - link

出力を見ると、些細な違いがありますが、これらの違いは動作しないと考えています。この例の出力では、すべての括弧[]があり、個々のJSON文字列を含むのは中括弧{}です。私の出力には、各文字列を含む中括弧{}があり、外側に角括弧はありません。

助けてください? JSONを初めて使用しました!

答えて

5

あなたは各文字列を別々にエコーしているので、json_encodeはそれがリストであることを決して知らないでしょう。

あなたがリストを構築するためにあなたのwhileステートメントを変更することができます:出力は[{意志

echo json_encode($rows); 

$rows = array(); 
while($row = $result->fetch_array(MYSQLI_ASSOC)) 
{ 
    $rows[] = array( 
    .... 
} 

while($row = $result->fetch_array(MYSQLI_ASSOC)) 
{ 
    echo json_encode(array( 
    .... 

は、全体をjson_encode ...}、{...}]構造体を探します。これは有効なJSONオブジェクトです。

+0

http://snipplr.com/view/17084/response-code/ これは私が使用しているコードで、下部に出力があります。最初に余分な[]部分があるのはなぜですか?二番目の[]は私が欲しいものです? –

+1

whileループから "echo json_encode($ rows)"を取り出します。それでは:while(fetch_array){$ rows [] = array();} echo json_encode .... " ループ内に配列を構築し、その後すべてをjson_encodeしたいとします。 –

+0

ありがとう、すべてがうまくいっています! –