| 
	
 | 
 Posted by strawberry on 12/02/06 18:00 
The following functions are intended to return a set of ids, and their 
respective children, as a single dimensional array ($ids), however, I'm 
getting nothing. I think the problem is that the results are being 
returned prematurely - before the recursion has finished - but I'm not 
quite sure how to fix that. Any help appreciated. 
 
Note: Also posted at alt.php.mysql 
 
function array_merger($a,$b){ 
  $count = count($b); 
   for ($i = 0; $i < $count; $i++) { 
    $a[]=$b[$i]; 
  } 
   return $a; 
} 
 
function display_children($parent) { 
 $ids=array(); 
$childres=array(); 
 
 if($parent == 'null'){ 
 
    $query = "SELECT `id` FROM `task` WHERE ISNULL(`parent`);"; 
 
    }else{ 
 
    $query = "SELECT `id` FROM `task` WHERE `parent`= '$parent';";} 
    $result = mysql_query($query); 
    while ($row = mysql_fetch_array($result,MYSQL_ASSOC)) {// 
 $ids[]=$row['id']; 
    $childres[]=display_children($row['id']); 
    } 
    $count=count($childres); 
    for($i=0;$i<$count;$i++){ 
 $ids=array_merger($ids,$childres[$i]); 
    } 
    return $ids; 
}
 
[Back to original message] 
 |