2012-10-04 118 views
0

我有一個數組,我從MySql數據庫創建並在json中編碼。將兩個數據庫列組合爲一個數組值php

$data_array = array(); 
    while ($row = mysql_fetch_assoc($result)) { 
     $data_array[$row['city']] = $row['state']; 
} 

echo json_encode($data_array); 

正如預期的那樣,它輸出這樣的:

{"DALLAS":"WV","DALLAS CENTER":"IA","DALLAS CITY":"IL","DALLASTOWN":"PA","LAKE DALLAS":"TX"} 

我需要的JSON數據,看起來像這樣:

{"DALLAS, WV","DALLAS CENTER, IA","DALLAS CITY, IL","DALLASTOWN, PA","LAKE DALLAS, TX"} 

我似乎無法找到正確的答案這堆棧溢出的任何地方,所以我提前道歉,如果這是一個重複的問題。任何幫助是極大的讚賞。

回答

0

取而代之的是,作爲一個鍵值對

while ($row = mysql_fetch_assoc($result)) { 
    $data_array[$row['city']] = $row['state']; 
} 

您目前使用以下命令構建您的陣列生成像這樣

while ($row = mysql_fetch_assoc($result)) { 
    $data_array[] = $row['city'].",".$row['state']; 
} 
+0

工作很好!謝謝。 – Taylor

0

$data_array[$row['city']] = $row['state']; 

這將導致json爲'city': 'state'

嘗試改變這個你想要,而不是格式:

$data_array[] = $row['city'] . ', ' . $row['state']; 

現在,你應該有JSON要與'city, state'的方式。

0

你應該嘗試

$data_array[] = $row['city'] . "," . $row['state']; 

PHP_DOC上mysql_ *

使用這個擴展的氣餒。相反,應該使用MySQLi或PDO_MySQL擴展。另請參閱MySQL:選擇API指南和相關FAQ以獲取更多信息。此功能的替代方案包括:

+0

您是否想要包含有關mysql_ *備註的替代方案的其他信息? – Taylor

相關問題