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无限级分类怎么查询的主要内容,如果未能解决你的问题,请参考以下文章