2012-06-23 31 views
3

我想用我的MySQL結果創建一個JSON對象用PHP,所以我可以將它傳遞給JavaScript。我不太明白JSON數組和JSON對象的區別。從PHP創建JSON對象MySQL的結果

這就是我的做法。但是有更好的方法嗎?這是我相信的陣列方式?

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

我希望能夠得到從JavaScript的信息,通過選擇所有的名字只如果我想等

回答

8

你可以試試這個,獲取數據和推到數組,然後回顯數組

$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"}] 
+0

好。井井有條! :) – user1121487

2

那麼這將編碼每行,每行作爲JSON對象:

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