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 中dirname(_file_)讲解
Mar 18 PHP
PHP 采集程序原理分析篇
Mar 05 PHP
从康盛产品(discuz)提取出来的模板类
Jun 28 PHP
PHP 利用Mail_MimeDecode类提取邮件信息示例
Jan 26 PHP
Yii使用find findAll查找出指定字段的实现方法
Sep 05 PHP
PHP 类与构造函数解析
Feb 06 PHP
ThinkPHP3.1.x修改成功与失败跳转页面的方法
Sep 29 PHP
PHP实现在对象之外访问其私有属性private及保护属性protected的方法
Nov 20 PHP
Linux下源码包安装Swoole及基本使用操作图文详解
Apr 02 PHP
laravel 修改记住我功能的cookie保存时间的方法
Oct 14 PHP
Laravel Reponse响应客户端示例详解
Sep 03 PHP
微信小程序和php的登录实现
Apr 01 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
重置版游戏视频
2020/04/09 魔兽争霸
php分页函数
2006/07/08 PHP
PHP实现链式操作的三种方法详解
2017/11/16 PHP
Extjs学习笔记之三 extjs form更多的表单项
2010/01/07 Javascript
jquery 的 $(&quot;#id&quot;).html() 无内容的解决方法
2010/06/07 Javascript
JavaScript高级程序设计 读书笔记之十 本地对象Date日期
2012/02/27 Javascript
JS 控件事件小结
2012/10/31 Javascript
JavaScript实现动态删除列表框值的方法
2015/08/12 Javascript
jQuery实现响应鼠标滚动的动感菜单效果
2015/09/21 Javascript
适用于javascript开发者的Processing.js入门教程
2016/02/24 Javascript
jQuery内容折叠效果插件用法实例分析(附demo源码)
2016/04/28 Javascript
Node.js的Koa框架上手及MySQL操作指南
2016/06/13 Javascript
JQ选择器_选择同类元素的第N个子元素的实现方法
2016/09/08 Javascript
jQuery实现手机版页面翻页效果的简单实例
2016/10/05 Javascript
JS实现控制图片显示大小的方法【图片等比例缩放功能】
2017/02/18 Javascript
Bootstrap表单简单实现代码
2017/03/06 Javascript
深入理解AngularJS中的ng-bind-html指令
2017/03/27 Javascript
详解angularjs中的隔离作用域理解以及绑定策略
2017/05/31 Javascript
微信小程序之页面跳转和参数传递的实现
2017/09/29 Javascript
javascript数组定义的几种方法
2017/10/06 Javascript
React/Redux应用使用Async/Await的方法
2017/11/16 Javascript
Vuejs 2.0 子组件访问/调用父组件的方法(示例代码)
2018/02/08 Javascript
JavaScript类数组对象转换为数组对象的方法实例分析
2018/07/24 Javascript
vue项目实现表单登录页保存账号和密码到cookie功能
2018/08/31 Javascript
element el-table表格的二次封装实现(附表格高度自适应)
2021/01/19 Javascript
Python实现简单文本字符串处理的方法
2018/01/22 Python
在pycharm中python切换解释器失败的解决方法
2018/10/29 Python
欧洲最大的婴幼儿服装及内衣公司:Petit Bateau(小帆船)
2016/08/16 全球购物
英国著名的小众美容品牌网站:Alyaka
2017/08/08 全球购物
自考生毕业自我鉴定
2013/10/10 职场文书
音乐教学案例
2014/01/30 职场文书
2019如何书写演讲稿?
2019/07/01 职场文书
关于golang高并发的实现与注意事项说明
2021/05/08 Golang
Python机器学习之基础概述
2021/05/19 Python
vmware虚拟机打不开vmx文件怎么办 ?vmware虚拟机vmx文件打开方法
2022/04/08 数码科技
腾讯云服务器部署前后分离项目之前端部署
2022/06/28 Servers