2011-03-04 99 views
2

我正在查詢我的數據庫Select * from Customer客戶表中包含姓名,姓氏地址,年齡。Php查詢到json

我希望能夠將查詢轉換成JSON對象的下列對象:

客戶:

[ 
    {Name:"john", Surname:"Beta" ,Age:"23"}, 
    {Name:"Fred", Surname:"alpha" ,Age:"31"} 
]; 

你有什麼想法,我通過查詢和使用試圖循環? merge_array ..但它合併了預期的陣列... 謝謝你的時間。

+0

創建你的數組,然後使用$ returnData = json_encode($ array);將數組格式化爲JSON,以返回到瀏覽器/ Ajax調用 – 2011-03-04 15:27:06

回答

5

你只需要組注入預期嵌套結構:

while ($row = mysql_fetch_assoc($r)) { 
    $customer[] = $row; 
} 

$struct = array("Customer" => $customer); 
print json_encode($struct); 
+0

我現在就試試吧!謝謝! – 7dr3am7 2011-03-04 15:44:34

+0

感謝它的工作.. :(我對於現在早些時候嘗試它是一個無知的人::(我想你永遠都不會完成學習 – 7dr3am7 2011-03-04 15:50:44

2

如果你有這樣的代碼:

$sql = "SELECT id as userid, fullname, userstatus 
     FROM sometable 
     WHERE userstatus = 1"; 
$result = mysql_query($sql); 

好像json_encode(mysql_fetch_assoc($result));會做這項工作?將在foreach /而所有結果...

+0

如果我這樣做,它只會獲取第一行 - 如果我把它放到foreach循環中,我想它會一直創建一個新的json對象,wouldn'我試圖把這個消息放入一個json對象:(( – 7dr3am7 2011-03-04 15:41:09

+0

然後你可以遍歷它並執行'$ arr [] = mysql_fetch_assoc($ result)'並且在循環編碼之後'$ arr' – NDM 2011-07-20 10:20:37

1

無論是自己使用,或者看看什麼MySQL to JSON正在做和實施類似的東西:)

+0

謝謝我現在就試試這個代碼:)謝謝 – 7dr3am7 2011-03-04 15:46:09

0

因爲我使用PDO來處理數據庫調用,所以我使用了一個foreach語句。

$grids = $db->run("DATABASE QUERY"); 

foreach ($grids as $row) { 
    $grid[] = $row; 
} 

$struct = array("Grid" => $grid); 
print json_encode($struct); 

其他與上述相同的代碼。謝謝馬里奧。