PHP无限级分类怎么查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP无限级分类怎么查询相关的知识,希望对你有一定的参考价值。

参考技术A 问题太过笼统,给你一个无限极分类数据处理的一种解决方案吧
表结构
id int 主键
fid int 父级id, 顶级分类的fid设为0, 其它级别的分类的fid值为其父级分类的id
name char 分类名称

若是要显示整个分类列表,那么你读取整个表, 形成一个这样结构的数组
$list = array();
while( $row = mysql_fetch_assoc($ret) )
if( !isset($list[$row['fid']]) ) $list[$ret['fid']] = array();
$list[$ret['fid']][$ret['id']] = $row;

输出时用个递归就可以了, 把它转换成json,用js来做树形菜单那也很好控制

若是查某个分类下的子分类,那查询很简单,就不说了本回答被提问者采纳

php无限级分类

使用递归方法,遍历子类,对数据进行重新排序,使用level进行无限级分类 

    /**
     * 功能:无限级分类
     * 参数:$data 类别查询结果集
     * 返回值:$arr 排序后的数组
     */
    public function getCateTree($data) {
        $arr = $this->cateSort($data);
        return $arr;
    }

    /**
     * 功能:无限级分类排序
     * 参数:$data 类别查询结果集
     * 返回值:$arr 递归查询排序后的数组
     */
    public function cateSort($data,$pid=0,$level=0) {
        static $arr = array();
        foreach($data as $k => $v) {
            if($v[‘pid‘] == $pid) {
                $arr[$k] = $v;
                $arr[$k][‘level‘] = $level + 1;
                $this->cateSort($data,$v[‘id‘],$level+1);
            }
        }
        return $arr;
    }

 

以上是关于PHP无限级分类怎么查询的主要内容,如果未能解决你的问题,请参考以下文章

ASP 无限级分类

php实现无限级分类(递归方法)

php递归无限极分类怎么弄

PHP原生递归实现无限级分类树状展示数据

PHP利用递归函数实现无限级分类的方法_php技巧 - PHP

php实现无限级分类