2012-04-22 31 views
0

私は、コードのこの部分を持っている:JSON出力配列PHP

{"2":"Chevrolet","7":"Citro","4":"Fiat","3":"Ford","6":"Peugeot","1":"Volkswagen"} 

[{"2":"Chevrolet"},{"7":"Citro"},{"4":"Fiat"},{"3":"Ford"},{"6":"Peugeot"},{"1":"Volkswagen"}] 

ので、どのように私はこのようなリターンに変更することができます。

Tipo_Id = mysql_real_escape_string($_REQUEST["tipo"]); 

     $Sql = "SELECT DISTINCT(tabveiculos.Marca_Id), tabmarcas.Marca_Nome 
       FROM tabmarcas, tabveiculos 
       WHERE tabmarcas.Tipo_Id = '$Tipo_Id' 
       AND tabmarcas.Marca_Id = tabveiculos.Marca_Id 
       ORDER BY tabmarcas.Marca_Nome Asc"; 
     $Query = mysql_query($Sql,$Conn) or die(mysql_error($Conn)); 
     $marcas = array(); 
     while ($Rs = mysql_fetch_array($Query)) { 
     $marcas[] = array(
     $Rs['Marca_Id'] => 
     $Rs['Marca_Nome'] 
     ); 

     } 

     echo (json_encode($marcas)); 

これは、このような結果を返します。

答えて

2

現在、各キー値のペアごとに新しい配列が作成されているため、多次元配列になります。代わりに以下を実行してください。

while ($Rs = mysql_fetch_array($Query)) { 
    $marcas[ $Rs['Marca_Id'] ] = $Rs['Marca_Nome']; 
}