| 要实现无限级分类,递归一般是第一个也是最容易想到的,但是递归一般被认为占用资源的方法,所以很多系统是不考虑使用递归的
 本文还是通过数据库的设计,用一句sql语句实现
 数据库字段大概如下:
 -----------------------------------------------------------------------------------
 id              编号
 fid             父分类编号
 class_name         分类名
 path          分类路径,以 id 为节点,组成类似    ,1,2,3,4, 这样的字符串
 ----------------------------------------------------------------------------------
 
 可以假设有如下的数据
 
 id      fid         class_name             path
 ----------------------------------------------------
 1       0           分类1             ,1,
 2       0           分类2             ,2,
 3       1           分类1-1          ,1,3,
 4       1           分类1-2          ,1,4,
 5       2           分类2-1          ,2,5,
 6       4           分类1-2-1       ,1,4,6,
 ----------------------------------------------------
 其中$nbs是数据库操作类,此方法简单明了!<?php        php程序员站 $sql="SELECT * FROM tree order by path";     $result=$nbs->Query($sql);     while($rows=$nbs->fetch_array($result)){      if(substr_count($rows['path'],',')>2){      for($i=0;$i<(substr_count($rows['path'],',')-2);$i++)      echo ' ';      }      echo $rows['class_name'].'<br>';     }     ?>    
 |