CI框架无限级分类+递归的实现代码


Posted in PHP onNovember 01, 2016

CI是什么?

CodeIgniter是一个轻量级但功能强大的PHP框架,基于MVC设计模式,提供了一套丰富的类库,简单易学,高效实用。

下面看下CI框架无限级分类+递归的实现代码,具体代码如下所示:

//无级分类+递归
public function digui(){
$crr = $this->db->get('category')->result_array();
$list['type'] = $this->nolimit($crr,0,0);
$this->load->view('list1',$list);
}
public function nolimit($crr,$p_id,$level){
static $arr = array();
foreach($crr as $v){
if($v['parent_id']==$p_id){
$v['level'] = $level;
$arr[] = $v;
$this->nolimit($crr,$v['cat_id'],$level+1);
}
}
return $arr;
}
<td><?PHP echo str_repeat('    ',$val['level'])?><?php echo $val['cat_name']?></td>
//获取1级、2级、3级分类
public function sel_child($p_id){
$arr = $this->sel_son($p_id);
foreach($arr as $k=>$v){
$tmp = $this->sel_son($v['cat_id']);
foreach($tmp as $kk=>$vv){
$tmp2 = $this->sel_son($vv['cat_id']);
$tmp[$kk]['childs'] = $tmp2;
}
$arr[$k]['child'] = $tmp;
}
return $arr;
}
//通过ID获取所有的下级分类
public function sel_son($id){
$this->db->where("parent_id=$id");
return $this->db->get(self::$cate)->result_array();
}
//渲染展示主页模板
public function lists(){
$p_id = 0;
$brr['type'] = $this->Home_model->sel_child($p_id);
$brr['list'] = $this->db->get('goods')->result_array();
$this->load->view('Home/list.html',$brr);
}
<?php foreach($type as $v){?>
<li id="cat_1" class="">
<h3><a href=""><?php echo $v['cat_name']?></a></h3>
<?php foreach($v['child'] as $vv){?>
<dl class="clearfix">
<dt><a href=""><?php echo $vv['cat_name']?></a></dt>
<?php foreach($vv['childs'] as $vvv){?>
<a href=""><?php echo $vvv['cat_name']?></a>
<?php }?>
</dl>
<?php }?>
</li>
<?php }?>

以上所述是小编给大家介绍的CI框架无限级分类+递归的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
一段php加密解密的代码
Oct 09 PHP
PHP中PDO的错误处理
Sep 04 PHP
php mssql扩展SQL查询中文字段名解决方法
Oct 15 PHP
php通过前序遍历树实现无需递归的无限极分类
Jul 10 PHP
php用户注册信息验证正则表达式
Nov 12 PHP
thinkPHP框架对接支付宝即时到账接口回调操作示例
Nov 14 PHP
php实现留言板功能(代码详解)
Mar 28 PHP
PHP实现权限管理功能示例
Sep 22 PHP
阿里对象存储OSS在laravel框架中的使用方法
Oct 13 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
Feb 27 PHP
php多进程并发编程防止出现僵尸进程的方法分析
Feb 28 PHP
imagettftext() 失效,不起作用
Mar 09 PHP
CI框架(ajax分页,全选,反选,不选,批量删除)完整代码详解
Nov 01 #PHP
PHP之十六个魔术方法详细介绍
Nov 01 #PHP
php有效防止图片盗用、盗链的两种方法
Nov 01 #PHP
php 实现一个字符串加密解密的函数实例代码
Nov 01 #PHP
PHP+Ajax异步带进度条上传文件实例
Nov 01 #PHP
php 判断字符串编码是utf-8 或gb2312实例
Nov 01 #PHP
PHP用户验证和标签推荐的简单使用
Oct 31 #PHP
You might like
第四节 构造函数和析构函数 [4]
2006/10/09 PHP
PHP4(windows版本)中的COM函数
2006/10/09 PHP
PHP中for循环语句的几种变型
2006/11/26 PHP
PHP 强制性文件下载功能的函数代码(任意文件格式)
2010/05/26 PHP
关于尾递归的使用详解
2013/05/02 PHP
基于PHP对XML的操作详解
2013/06/07 PHP
PHP解压tar.gz格式文件的方法
2016/02/14 PHP
php7性能提升的原因详解
2019/10/13 PHP
laravel7学习之无限级分类的最新实现方法
2020/09/30 PHP
PHP实现腾讯短网址生成api接口实例
2020/12/08 PHP
animate动画示例(泪奔的小孩)及stop和delay的使用
2013/05/06 Javascript
JS中引用百度地图并将百度地图的logo和信息去掉
2013/09/29 Javascript
js动态改变select选择变更option的index值示例
2014/07/10 Javascript
浅谈angular.js中实现双向绑定的方法$watch $digest $apply
2015/10/14 Javascript
Vuex2.0+Vue2.0构建备忘录应用实践
2016/11/30 Javascript
微信小程序 视图容器组件的详解及实例代码
2017/01/19 Javascript
利用Node.js对文件进行重命名
2017/03/12 Javascript
jQuery ajax请求struts action实现异步刷新
2017/04/19 jQuery
微信小程序实现多行文字超出部分省略号显示功能
2019/10/23 Javascript
JavaScript运行机制实例分析
2020/04/11 Javascript
基于JS实现快速读取TXT文件
2020/08/25 Javascript
简要讲解Python编程中线程的创建与锁的使用
2016/02/28 Python
python 上下文管理器使用方法小结
2017/10/10 Python
对python3标准库httpclient的使用详解
2018/12/18 Python
pytorch 自定义数据集加载方法
2019/08/18 Python
python中pathlib模块的基本用法与总结
2020/08/17 Python
详解html5 postMessage解决跨域通信的问题
2018/08/17 HTML / CSS
荷兰手表网站:Watch2Day
2018/07/02 全球购物
办公室主任职责范文
2013/11/08 职场文书
个人生活学习自我评价范文
2013/11/26 职场文书
班级出游活动计划书
2014/08/15 职场文书
护理工作个人总结
2015/03/03 职场文书
2015年学生会纪检部工作总结
2015/03/31 职场文书
2016年十一促销广告语
2016/01/28 职场文书
PyQt5 QThread倒计时功能的实现代码
2021/04/02 Python
pytorch加载预训练模型与自己模型不匹配的解决方案
2021/05/13 Python