function ListTree($pid) {
$db = new MySQLDB;
$db->query("select TypeID, TypeName, ParentID from z_newstype where ParentID =  '$pid'");
while($db -> next()){
$db -> echorow("TypeName") ;
ListTree($db -> getrow("TypeID"));
}
}ListTree(0);

解决方案 »

  1.   

    <?
    //try&cedil;&Otilde;&ETH;&acute;&micro;&Auml;,&Ecirc;×&Iuml;&Egrave;&Oacute;&Atilde;sql&Eacute;ú&sup3;&Eacute;&Otilde;&acirc;&Ntilde;ù&micro;&Auml;&Ecirc;&yacute;×é,
    $array = array( '1' => array('parent'=>'0','title'=>'aaaaaaaaaaaaaaaaaaaaaaaaaa'),
    '2' => array('parent'=>'1','title'=>'bbbbbbbbbbbbbbbbb'),
    '3' => array('parent'=>'5','title'=>'cccccccccccccccccccc'),
    '4' => array('parent'=>'2','title'=>'cccccccccccccccccccc'),
    '5' => array('parent'=>'1','title'=>'bbbbbbbbbbbbbbbbb')
    );
    print"<pre>";
    print_r($array);
    print"</pre>";
    foreach ($array as $key => $value) {
    if ($value['parent'] == '0') {
    print $value['title']."<br>";
    $class = 1;
    listTree($array,$key, $class);
    }
    }
    function listTree($array, $temp_key, $class){
    $spc = "";
    for ($i=0; $i<$class; $i++) {
    $spc .= "&nbsp;&nbsp;";
    }
    foreach ($array as $key => $value) {
    if ($value['parent'] == $temp_key) {
    print $spc.$value['title']."<br>";
    listTree($array, $key, $class+1);
    }
    }
    }
      

  2.   

    晕,呵呵,汉字贴上就这样了,
    刚刚写了一个,你试一下行不行,首先用sql生成类似这样的数组,以主键作key
      

  3.   

    我是这样的数组,请再指教:
    主键  parent 标题
    $array=array(array(1,0,'AAA'),
           array(2,1,'BBB'),
           array(3,1,'CCC'),
           array(4,1,'DDD'),
           array(5,2,'EEE'),
           array(6,2,'FFF'),
           array(7,5,'GGG'),
           array(8,5,'HHH'),
           array(9,7,'III'),
           array(10,9,'JJJ')
           )
      

  4.   

    <?php
    谢谢大家,已经解决
    主键    parent  标题  
    $array=array(array(1,0,'AAAA'),
           array(2,1,'BBBB'),
           array(3,1,'CCCC'),
           array(4,1,'DDDD'),
           array(5,2,'EEEE'),
           array(6,2,'FFFF'),
           array(7,5,'GGGG'),
           array(8,5,'HHHH'),
           array(9,7,'IIII'),
           array(10,9,'JJJJ'),
           array(21,3,'LLLL'),
           array(22,21,'MMMM'),
           array(23,22,'NNNN'),
           array(24,21,'OOOO'),
           array(25,23,'PPPP'),
           array(26,24,'QQQQ')
           );
    function listTree($array,$id,$parent,$title,$start,$nbsp){
    $pre="";
    for ($i=0; $i<=$nbsp; $i++) {
      $pre.="&nbsp;&nbsp;";
    }
    if($parent==0) echo $title."<br>\n"; for($i=$start;$i<sizeof($array);$i++){
    if($array[$i][1]==$id){
    echo $pre.$array[$i][2] ."<br>\n";
    listTree($array,$array[$i][0],$array[$i][1],$array[$i][2],$i+1,$nbsp+1);
    }
    }
    }      
    listTree($array,1,0,'AAA',1,0); 
    //listTree($array,3,1,'CCC',0,1); 
    ?>