2011-07-18 9 views
-1
ループは次のようになります。ネストされた配列を作成する一方で、私は、ネストされたを使用しています

ネストされた配列whileループ

[276] => Array 
    (
     [0] => 302 
    ) 

[279] => Array 
    (
     [0] => 290 
     [1] => 291 
     [1] => 223 

しかし、いくつかの理由で、私は一つだけネストされた配列は、279の下に示したが、私は知って取得しています

私が照会している のデータは、279の配列の下にあるべきである少なくとも12のレコードを返しています。ここで

は私のwhileループのコードです:

while ($row = mysql_fetch_assoc($result)) { 
    $term_id = $row[term_id]; 

    // Look up Children Categories 
    $sql2 = "SELECT * FROM wp_term_taxonomy wpt where parent = $row[term_id]"; 

    // execute query: 
    $result2 = mysql_query($sql2) or die('A error occured: ' . mysql_error()); 

    // fetch results: 
    $count_2 = "0"; 
    while ($row2 = mysql_fetch_assoc($result2)) { 
     $term_id2 = $row2['term_id']; 
     $arr[$term_id] = array($count_2 => $row2[term_id]); 
     $count_2++; 
    } 

} 

誰かがImが間違っているものを私に教えてください。そのネストされた配列のように、私はちょうど入れ子配列の下に1つのレコードを取得するたびにリセットされます。

+0

あなた、あなたは禁止する必要があります。 http://stackoverflow.com/questions/3552456/smarty-nested-foreach-loop-question – Phil

答えて

1

あなたのコード:

$arr[$term_id] = array($count_2 => $row2[term_id]); 

これは$arr[$term_id]に新しい配列を割り当てます。既存の配列にループの前回の反復ですでに項目を置いていたり、上書きしたり、 "リセット"したりすると、既存の配列に追加されません。あなたはそれを言いました。

$arr[$term_id][$count_2] = $row2[term_id]; 
関連する問題