注册 登录
编程论坛 PHP技术论坛

php无限极分类问题

寒塘冷月 发布于 2012-02-21 23:58, 1166 次点击
本人php新手一名,正在写一个无限极的新闻分类的列表遇到了点问题,请教各位高手。


数据结构
只有本站会员才能查看附件,请 登录


输出主目录程序

只有本站会员才能查看附件,请 登录


递归调用子目录的tree函数
只有本站会员才能查看附件,请 登录


显示的时候只输入单行的二级目录
只有本站会员才能查看附件,请 登录


但是在tree函数内,不使用递归的话就有正常了,但是就不能无限分类了
只有本站会员才能查看附件,请 登录


想不明白 按理说递归是没错的,也能无限网下分,但是只能输出父栏目的一个子栏目,不能循环输出来。
希望有人能帮帮我,谢谢
5 回复
#2
寒塘冷月2012-02-22 00:01
代码好像不能用图片贴出来晕

  输出主目录
                     <?php
                         $result=$db->query("select id,title from newscata where fid=0");
                         while($rs=$db->fetch_array($result)){
                           $rs_v[$rs['id']]=$rs['title'];
                         }
                        
                         foreach($rs_v as $key=>$val){
                           echo "&nbsp;&nbsp;<a href='?cataid=$key'>".$val."</a><br>";
                           tree($key);
                         }
                         unset($rs_v);
                      ?>

输出子目录并递归调用
function tree($sid){
  global $db;
  $results=$db->query("select id,title,level from newscata where fid=$sid");
  while($row=$db->fetch_array($results)){
    $str="&nbsp;&nbsp;";
    for($i=0; $i<=$row['level']-1; $i++){
      $str=$str."→";
    }
     echo $str."<a href='?cataid=".$row['id']."'>".$row['title']."</a><br>";
  }
  unset($row);
  unset($str);
}

#3
寒塘冷月2012-02-22 00:03
数据结构
只有本站会员才能查看附件,请 登录
#4
寒塘冷月2012-02-22 00:04
正常输出
只有本站会员才能查看附件,请 登录
#5
寒塘冷月2012-02-22 00:04
实际输出
只有本站会员才能查看附件,请 登录
#6
xeon8152012-08-01 18:47
我这里有用BORPHP框架写的无限级分类。。加群:11077422
1