2014-10-11 259 views
0

我已经多层次的父子关系,我想列出它们在树上structure.I也象ID字段的表,parent_id.I试图像列表亲子树结构

$sql = 'SELECT * FROM list WHERE parent_id = 0'; 
$result = mysql_query($sql, $link); 
while ($row = mysql_fetch_array($result)) { 
    echo $row['id'].'<br>'; 
    $child1_sql = "SELECT * FROM list WHERE parent_id = ".$row['id']; 
    $result1 = mysql_query($child1_sql, $link); 
    while ($row1 = mysql_fetch_array($result1)) { 
     $id = my_recursive_function($row1['parent_id'],$link); 
     echo $id; 
    } 
} 

function my_recursive_function($parent_id,$link) { 

    $child2_sql = "SELECT * FROM list WHERE parent_id = ".$parent_id; 
    $result2 = mysql_query($child2_sql, $link); 
    $row_cnt = mysql_num_rows($result2); 

    if($row_cnt > 0) { 
     while ($row = mysql_fetch_array($result2)) { 
      if($row['parent_id'] == 0) { 
       return $row['id']; 
      } else { 
       my_recursive_function($row['parent_id'],$link); 
      } 
     } 
    } 
} 

但给我

Fatal error: Out of memory (allocated 126877696) (tried to allocate 24 bytes) 
+0

尝试增加内存限制:函数ini_set( 'memory_limit的', '128M'); – 2014-10-11 05:39:31

+0

我认为这不是解决方案,因为我已经改变了它。 – Gautam3164 2014-10-11 05:40:28

+0

然后你必须优化你的脚本:) – 2014-10-11 05:41:09

回答