要实现无限极分类,数据库建表是关键。
表结构中至少需要三个字段,如果想避免递归循环,那么需要四个字段。
1. id ,当前数据的唯一标识;
2. typename ,类型名称;
3. parentid , 当前类型的上一层父类型的id;
4. path , 其中存储当前类型的id和它所有父级类型的id。
这些id之间采用“-”隔开。
5. 当通过以下sql语句就可以实现,相同顶级类下的信息都在一起集中显示。
select * from 表名 where 条件 order by path;
例如:
一个非常简单清晰简单的无极限分类范例,带缩进效果,只需查询一次数据表,然后递归遍历结果集,就可以了,要在php中实现栏目缩进显示可以参考一下。
$sql = 'select * from cat order by cat_id desc'; $list = $db->getAll($sql); $list = getLevelCat($list); function getLevelCat($catlist, $parent_id='0', $html=' ', $level='0'){ $arr = array(); foreach($catlist as $val){ if($val['parent_id']==$parent_id){ $val['html'] = str_repeat($html,$level); $val['level'] = $level; $arr[] = $val; $arr = array_merge($arr, getLevelCat($catlist, $val['cat_id'], $html, $level+1)); } } return $arr; }
短短几行代码,比较清晰,也比较好用。
相关推荐:
以上就是什么是无限极分类的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号