2011-08-09 3 views
0

을 heres 기능을 배열을 받고 문제 갖는는 JSON 인코딩에 대한 배열로

{"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

당신은 내가

같은 것을 사용하여, 단일 루프가이 기능을 재 작성 제안, 내부 while 전에 mysql_data_seek($result,0) 추가 또한 36 행으로

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는 그것을 고쳤습니다. :) 사실, 함수는 다시 작성해야하지만 입력 한 데이터를 모르는 경우에는 제안 된 행을 따라 수행하면 true로 작동하지 않습니다. 하지만 고마워요. – Nicekiwi

관련 문제