0

私はこのコードを持っています:

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":"Chevrolet"},{"7":"Citro"},{"4":"Fiat"},{"3":"Ford"},{"6":"Peugeot"},{"1":"Volkswagen"}]

だから私はこのようにリターンに変更することができます:

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

1 に答える 1

2

現在、キーと値のペアごとに新しい配列を作成しているため、最終的に多次元配列になります。代わりに次のようにしてください。

  while ($Rs = mysql_fetch_array($Query)) {
    $marcas[ $Rs['Marca_Id'] ] = $Rs['Marca_Nome']; 
 }
于 2012-04-22T16:24:59.037 に答える