私は名前、親、および以下に示さMySQLのデータから、子どもたちの形でオブジェクトのJSON配列を生成しようとしています。 REMアルバムのための同じ構造を持つネストされたJSON PHP配列
[{"name":"Abbey Road","parent":"Beatles","children":[{"name":"Come Together","parent":"Abbey Road"}, {"name":"Something","parent":"Abbey Road"},{"name":"Maxwell","parent":"Abbey Road"}, {"name":"Oh! Darling","parent":"Abbey Road"}]}]
:
理想的には私の出力は次のようになります。
[{"name":"Abbey Road","parent":"Beatles","children":[{"name":"Come Together","parent":"Abbey Road"}]},{"name":"Accelerate","parent":"REM","children":[{"name":"Living Well","parent":"Accelerate"}]}]
構造は動作しますが、私は、データベースから1つのレコードを返しています:
は今のところ、私はこれを取得することができるだけです。ここで
は、単一のレコード・リターンを生成PHPで私のコードです:
$results_select = mysql_query("SELECT album_table.album , album_table.artist, album_table.year,
tracks_table.track
FROM album_table
JOIN tracks_table ON tracks_table.album = album_table.album");
while ($row = mysql_fetch_array($results_select)) {
if (!isset($info[$row['album']])) {
$info[$row['album']] = array(
'name' => $row['album'],
'parent' => $row['artist'],
'children' => array(['name' => $row['track'],
'parent' => $row['album'] ])
);
}
}
$data = json_encode(array_values($info));
echo $data;
私はちょうど私のPHPコードで複数のレコードを返すことができれば、私は、解決策に非常に近い午前のように私は感じます。
おかげであなたが提供することができます任意の指導のために非常に多くの!
あなたがやっていることを停止し、再びやり直します。非推奨であり、5年間サポートされていないデータベースAPIを使用しています。代替手段は、10年間利用可能である。 http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php – miken32
また、あなたが表示されたコードは、あなたが取得していると主張出力にはなりません。あなたのコードは、JSON配列ではなくJSONオブジェクトとして終わる連想配列を生成します。 – miken32
こんにちは@tomishあなたはこの問題を解決しましたか?私は –