这篇文章主要介绍了关于php中的无限极分类,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
1.首先无限极分类对应的表的结构
| cate_id | cate_name| parentid(默认0)| | -------- | -----: | :----: | | 1 | 键盘 | 0 | | 2 | 机械键盘 | 1 | | 3 | cherry键盘| 2 |
这里面能看出来cherry的parentid的值等于等于他上一级的cate_id,这也就是无限极分类的核心
2.无限分类功能就是把数据库中的数据从新排序
控制器下代码:
public function index(){ $cate = D('category')->catetree(); $this->assign('cate',$cate); $this->display(); }
这里$cate调用catetree()方法,那么下面我们对应的Model里面的代码
Model下的代码:public function catetree(){ $data = $this->select(); return $this->resort($data); }
首先查询对应category表里面的所有数据并return一个新的方法
立即学习“PHP免费学习笔记(深入)”;
public function resort($data,$parentid=0,$level=0){ static $ret = array(); foreach ($data as $key => $v) { if ($v['parentid']==$parentid) { $v['level']=$level; $ret[]=$v; $this->resort($data,$v['cate_id'],$level+1); } } return $ret ; }
首先生成一个静态数组,然后把catetree()方法传过来的$data进行遍历,判断条件就是为了找到顶级那条数据。先把顶级那条数据保存到静态数组里面,然后在调用本身,并且把顶级栏目的id做为参数传出去。
这样一来$parentid=$v['cate_id']
最终无线分类的功能就做完了!
相关推荐:
以上就是php中的无限极分类的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号