欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php中的无限极分类

程序员文章站 2022-03-17 20:17:48
...

这篇文章主要介绍了关于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一个新的方法

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 分类 无限