2011-07-10 3 views
1

私の経験から、mysqlテーブルからjson_encodeデータを取得すると、出力はオブジェクト内のオブジェクトとして各行を含むオブジェクトになります。私がしたいのは、以下の例のように各行を配列として取得することです(そこに列名は必要ありません)。どうやってやるの?PHP json_encodeは、オブジェクトではなく配列として行を返します

{ "Data": [ 
    ["1","Internet Explorer 4.0","Win 95+","4","X","1"], 
    ["2","Internet Explorer 5.0","Win 95+","5","C","2"], 
    ["3","Internet Explorer 5.5","Win 95+","5.5","A","3"], 
    ["4","Internet Explorer 6","Win 98+","6","A","4"], 
] } 

答えて

3

各行を取得するにはmysql_fetch_row[docs]を使用してください。これは、数値の行を配列として取得し、それらはまた、JSON配列としてエンコードされます。

$data = array(); 

while(($row = mysql_fetch_row($result))) { 
    $data[] = $row; 
} 

echo json_encode(array('Data' => $data)); 
+0

ありがとう、それは動作します。 – Chad

+0

$ resultはどこに定義されていますか? –

0

はインタプリタにチェックされていない: あなたは、単純なタイプのconvertionで変数の型を変更することができます。

$data = DB::get('SELECT * FROM `table` WHERE 1'); 
echo json_encode(array('Data' => (array)$data)); 

また、次の関数を使用することもできます:array mysql_fetch_array(resource $ result [、int $ result_type])

+0

'DB :: get'とは何ですか? –

+0

DB抽象化。 $ data = mysql_fetch_array($ mysql_result、MYSQL_NUM)として使用できます。オブジェクトを配列に変換するだけです。それは助けなければならない。 –

関連する問題