-1
$cnt = 0;
while ($row = $result->fetch_assoc()) 
{
    $arre[$cnt]['id'] = $row['idevents'];
    $arre[$cnt]['title'] = $row['title'];
    $arre[$cnt]['start'] = "new Date(" . $row['start'] . "*1000)";
    $arre[$cnt]['end'] = "new Date(" . $row['end'] . "*1000)";
    $arre[$cnt]['allDay'] = $row['allday'];
    $arre[$cnt]['url'] = $row['url'];
    $cnt++;
}


$year = date('Y');
$month = date('m');

echo json_encode(array(

array(
    'id' => 111,
    'title' => "Event1",
    'start' => "$year-$month-10",
    'url' => "http://yahoo.com/"
),

array(
    'id' => 222,
    'title' => "Event2",
    'start' => "$year-$month-20",
    'end' => "$year-$month-22",
    'url' => "http://yahoo.com/"
)

));

?>

スクリプトの下部にある json_encode はサンプルです。$arre と json_encode 内のデータを取得する必要があります。json_encode の形式は、それとほとんど同じままである必要があります。そうしないと、プログラムがそれを口に合わず、プログラムが機能しない可能性があります。ここで適切なコード手法がどのようになるか知っている人はいますか?

ありがとう!

4

1 に答える 1

1

json_encode() を使用して関数に配列を返す正しい形式を探している場合は、例を次に示します。キーと値のペアを使用して、さまざまなメンバーにアクセスします。

また、連想配列を使用して、整数値ではなく列の名前でクライアント側の要素を反復処理できるようにします。

while ($row = $result->fetch_assoc()) 
{
    $thisRow = array(
                     'id'     => $row['idevents'],
                     'title'  => $row['title'],
                     'start'  => date("F j, Y, g:i a", strtotime($row['start'])),
                     'end'    => date("F j, Y, g:i a", strtotime($row['end'])),
                     'allDay' => $row['allday'],
                     'url'    => $row['url']
    );
    array_push($arre, $thisRow);
}

return json_encode(
    array(
        "result" => "success", 
        "data" => $arre
    )
);

次に、javascript/jquery で:

$.post("myPost.php", post_data,
    function(data) {
        // store data.result;
        // store data.data;
    }, 
"json");
于 2012-12-12T23:26:16.930 に答える