2011-08-09 10 views
0

相続機能: http://pastebin.com/tQLjzzbH持つ問題

私はそれがこれを返すようにしたい:

{"years":[ 
    { 
     "yName":"2011", 
     "yAlbums:[ 
      { 
       auID:"1234", 
       aID:"456", 
       etc.. 
      }, 
      { 
       auID:"12345", 
       aID:"4567", 
       etc.. 
      } 
    }, 
    { 
     "yName":"2010", 
     "yAlbums:[ 
      { 
       auID:"2234", 
       aID:"556", 
       etc.. 
      } 
    } 
]} 

が、そののみ、この返却:

{"years":[ 
{"yName":"2011"}, 
{"yName":"2010"}]} 

これを長年にわたって手に入れようとしていましたが、今は完全に失われています。助けていただければ幸いです。

ありがとうございました。

答えて

1

あなたは、私が

のようなものを使用して、単一のループを持っているために、この関数を書き換えることをお勧めし、また、36行目に、インナー whilemysql_data_seek($result,0)を追加

while($data2 = mysql_fetch_assoc($result)) 
{ 
    $yearsArrayRaw[] = $data2['album_year']; 
} 

することにより、非常に最後まであなたの結果を読みました

$year_albums= array(); 
while ($data = mysql_fetch_assoc($result)){ 
    if (empty($years[$data['album_year']])){ 
     $year_albums[$data['album_year'] = array(
      'yName'=>$data['album_year'], 
      'yAlbums'=>array() 
     ); 
    } 
    //...album creation logic here...// 
    $year_albums[$data['album_year']['yAlbums'][] = $album; 
} 
//Converting arrays into objects 
$years = array(); 
foreach ($year_albums as $year){ 
    $years[] = (object)$year; 
} 
json_encode($years); 
+0

mysql_data_seekはそれを修正しました:)実際、関数は書き換えが必要ですが、入力したデータがわからない場合は、指定した行に沿って処理することは正確にはできません。しかし、ありがとう、すべての同じ:) – Nicekiwi

関連する問題