3

MySQLの結果からPHPを使用してJSONオブジェクトを作成し、JavaScriptに渡すことができるようにします。JSON配列とJSONオブジェクトの違いがよくわかりません。

これが私のやり方です。しかし、もっと良い方法はありますか?これは私が信じているアレイの方法ですか?

$json = array();
while($r=mysql_fetch_array($res)){
  $json['firstname'] = $r['firstname'];
  $json['lastname'] = $r['lastname'];
}
echo json_encode($json);

必要な場合にのみすべての名を選択するなどして、JavaScriptから情報を取得できるようにしたいです。

4

2 に答える 2

11

これを試して、データをフェッチして配列にプッシュしてから、その配列をエコーすることができます

$info=array();
while($row = mysql_fetch_array($res,MYSQL_ASSOC)){
array_push($info,$row);
}
echo json_encode($info);

戻るだろう

array(2) { [0]=> array(3) { ["id"]=> string(1) "1" ["firstname"]=> string(3) "foo" ["lastname"]=> string(3) "bar" } [1]=> array(3) { ["id"]=> string(1) "2" ["firstname"]=> string(3) "foo" ["lastname"]=> string(3) "bar" } }

json

[{"id":"1","firstname":"foo","lastname":"bar"},{"id":"2","firstname":"foo","lastname":"bar"}]
于 2012-06-23T12:52:25.527 に答える
2

これにより、すべての行がエンコードされ、各行がJSONオブジェクトになります。

$json = array();
while($r=mysql_fetch_array($res)){
  $json[] = $r;
}
echo json_encode($json);
于 2012-06-23T12:51:20.790 に答える