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 采集程序中常用的函数
Dec 09 PHP
让PHP COOKIE立即生效,不用刷新就可以使用
Mar 09 PHP
php文本转图片自动换行的方法
Mar 13 PHP
基于在生产环境中使用php性能测试工具xhprof的详解
Jun 03 PHP
yii操作cookie实例简介
Jul 09 PHP
php+MySQL判断update语句是否执行成功的方法
Aug 28 PHP
php绘图之加载外部图片的方法
Jan 24 PHP
PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法
Mar 07 PHP
PHP使用反射机制实现查找类和方法的所在位置
Apr 22 PHP
php处理单文件、多文件上传代码分享
Aug 24 PHP
PHP常用的三种设计模式
Feb 17 PHP
ThinkPHP5.1框架页面跳转及修改跳转页面模版示例
May 06 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
php面向对象全攻略 (五) 封装性
2009/09/30 PHP
利用浏览器的Javascript控制台调试PHP程序
2014/01/08 PHP
PHP使用get_headers函数判断远程文件是否存在的方法
2014/11/28 PHP
php批量添加数据与批量更新数据的实现方法
2014/12/16 PHP
PHP实现ASCII码与字符串相互转换的方法
2017/04/29 PHP
phpStorm2020 注册码
2020/09/17 PHP
Prototype最新版(1.5 rc2)使用指南(1)
2007/01/10 Javascript
JavaScript 三种不同位置代码的写法
2009/10/25 Javascript
JS控制显示隐藏兼容问题(IE6、IE7、IE8)
2010/04/01 Javascript
raphael.js绘制中国地图 地图绘制方法
2014/02/12 Javascript
node+express+ejs制作简单页面上手指南
2014/11/26 Javascript
js实现可得到不同颜色值的颜色选择器实例
2015/02/28 Javascript
详解基于 axios 的 Vue 项目 http 请求优化
2017/09/04 Javascript
vue2实现搜索结果中的搜索关键字高亮的代码
2018/08/29 Javascript
vue-cli安装使用流程步骤详解
2018/11/08 Javascript
Vue使用Clipboard.JS在h5页面中复制内容实例详解
2019/09/03 Javascript
layui动态渲染生成左侧3级菜单的方法(根据后台返回数据)
2019/09/23 Javascript
vue动态循环出的多个select出现过的变为disabled(实例代码)
2019/11/10 Javascript
node.js事件轮询机制原理知识点
2019/12/22 Javascript
Vue中实现回车键切换焦点的方法
2020/02/19 Javascript
vue 实现用户登录方式的切换功能
2020/04/14 Javascript
pycharm 使用心得(三)Hello world!
2014/06/05 Python
一个基于flask的web应用诞生 用户注册功能开发(5)
2017/04/11 Python
Python中装饰器高级用法详解
2017/12/25 Python
Python PyQt4实现QQ抽屉效果
2018/04/20 Python
分析python请求数据
2018/08/19 Python
远程部署工具Fabric详解(支持Python3)
2019/07/04 Python
django admin组件使用方法详解
2019/07/19 Python
Python实现快速排序的方法详解
2019/10/25 Python
python 实现按对象传值
2019/12/26 Python
Python使用monkey.patch_all()解决协程阻塞问题
2020/04/15 Python
年会主持人开场白台词
2015/05/29 职场文书
婚礼家长致辞
2015/07/27 职场文书
python中Tkinter 窗口之输入框和文本框的实现
2021/04/12 Python
Windows server 2012 配置Telnet以及用法详解
2022/04/28 Servers
tomcat下部署jenkins的方法
2022/05/06 Servers