从数据库中获取数据,以树形显示分类,如:
公告
文章
-新文章
-热文章
分类数据库的结构是:
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