日期:2014-05-17  浏览次数:20490 次

树形显示分类
本帖最后由 bing15 于 2013-02-02 14:07:19 编辑
从数据库中获取数据,以树形显示分类,如:
 公告 
 文章
  -新文章
  -热文章

分类数据库的结构是:
id,reid,topid,title

id:分类id
reid:父类id
topid:顶级id
title:名称
我先给出一点数据吧,这样做起来方便些。
id reid topid title
1   0    0     公告
2   0    0     文章
3   2    2    新文章
4   2    2    热文章

记住:可能新文章里面还有小分类哦,无限级分类。

------解决方案--------------------
<?
$arr = array(
     
    array('id'=>1,'city_name'=>'中国','rel_id'=>'1','pid'=>0),
    array('id'=>2,'city_name'=>'广东','rel_id'=>'1-2','pid'=>1),
    array('id'=>3,'city_name'=>'深圳','rel_id'=>'1-2-3','pid'=>2),
    array('id'=>4,'city_name'=>'广州','rel_id'=>'1-2-4','pid'=>2)
    
);
 
function find_subclass( $pid ){
     
    global $arr;
    $__arr = array();
    foreach ( $arr as $k=>$v )
    {
         
        if( $v['pid']==$pid )$__arr[] = $v;
         
    }
    return $__arr;
     
}
 
function tree_subclass($pid=0){
     
    $__arr = array();
    $__arr = find_subclass($pid);
    if( !empty($__arr) ){
         
        foreach ( $__arr as $k=>$v )
        {
 
            $__arr[$k]['subclass'] = tree_subclass($v['id']);
             
        }
         
    }
    return $__arr;
}
 
var_dump(tree_subclass(0));
 
?>

------解决方案--------------------
引用:
我的数据怎么递归显示分类下的子分类呢
见http://bbs.csdn.net/topics/390364669