0

MySql データベースから作成し、json でエンコードする配列があります。

$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"}

スタック オーバーフローのどこにもこれに対する正しい答えが見つからないようです。そのため、これが繰り返しの質問である場合は、事前にお詫び申し上げます。どんな助けでも大歓迎です。

4

3 に答える 3

0

試してみてください

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

mysql_* 上の PHP_DOC

この拡張機能の使用はお勧めできません。代わりに、MySQLi または PDO_MySQL 拡張機能を使用する必要があります。詳細については、MySQL: API ガイドの選択および関連する FAQ も参照してください。この機能の代替手段は次のとおりです。

于 2012-10-04T03:16:37.683 に答える
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']; 
}
于 2012-10-04T03:07:21.907 に答える
0

現在、以下を使用してアレイを構築しています。

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

これにより、json が'city': 'state'.

代わりに、これを必要な形式に変更してみてください。

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

これで、必要な方法で json を使用できるようになります'city, state'

于 2012-10-04T03:07:40.660 に答える