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 相关文章推荐
程序员编程十条戒律
Jul 09 PHP
Ajax+PHP 边学边练之四 表单
Nov 27 PHP
ThinkPHP使用UTFWry地址库进行IP定位实例
Apr 01 PHP
thinkphp中memcache的用法实例
Nov 29 PHP
浅谈thinkphp的实例化模型
Jan 04 PHP
php字符串过滤与替换小结
Jan 26 PHP
php ci 获取表单中多个同名input元素值的代码
Mar 25 PHP
PHP下载远程图片的几种方法总结
Apr 07 PHP
PHP实现转盘抽奖算法分享
Apr 15 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
Jun 22 PHP
php如何计算两坐标点之间的距离
Dec 29 PHP
对php 判断http还是https,以及获得当前url的方法详解
Jan 15 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
全国FM电台频率大全 - 27 陕西省
2020/03/11 无线电
php安全开发 添加随机字符串验证,防止伪造跨站请求
2013/02/14 PHP
详解PHP实现支付宝小程序用户授权的工具类
2018/12/25 PHP
mysqli扩展无法在PHP7下升级问题的解决
2019/09/10 PHP
PHP filter_var() 函数, 验证判断EMAIL,URL等
2021/03/09 PHP
javascript之AJAX框架使用说明
2010/04/24 Javascript
JS实现点击图片在当前页面放大并可关闭的漂亮效果
2013/10/18 Javascript
使用原生js写的一个简单slider
2014/04/29 Javascript
jQuery旋转木马式幻灯片轮播特效
2015/12/04 Javascript
JavaScript中三个等号和两个等号的区别(== 和 ===)浅析
2016/09/22 Javascript
JS禁止查看网页源代码的实现方法
2016/10/12 Javascript
jQuery autoComplete插件两种使用方式及动态改变参数值的方法详解
2016/10/24 Javascript
使用Javascript监控前端相关数据的代码
2016/10/27 Javascript
es6+angular1.X+webpack 实现按路由功能打包项目的示例
2017/08/16 Javascript
详解vue-cli构建项目反向代理配置
2017/09/07 Javascript
Angular4学习之Angular CLI的安装与使用教程
2018/01/04 Javascript
在vue中使用jointjs的方法
2018/03/24 Javascript
nodejs express配置自签名https服务器的方法
2018/05/22 NodeJs
利用python 更新ssh 远程代码 操作远程服务器的实现代码
2018/02/08 Python
Python爬虫信息输入及页面的切换方法
2018/05/11 Python
python 字典 按key值大小 倒序取值的实例
2018/07/06 Python
python线程安全及多进程多线程实现方法详解
2019/09/27 Python
python根据字典的键来删除元素的方法
2020/08/16 Python
如何使用Pytorch搭建模型
2020/10/26 Python
巴西化妆品商店:Lojas Rede
2019/07/26 全球购物
国外软件测试工程师面试题
2016/12/09 面试题
旷课检讨书大全
2014/01/21 职场文书
青奥会口号
2014/06/12 职场文书
海南召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
幼儿园小班教师个人工作总结
2015/02/06 职场文书
荆州古城导游词
2015/02/06 职场文书
科技活动总结范文
2015/05/11 职场文书
2016年大学生暑期社会实践方案
2015/11/26 职场文书
2016年党员岗位承诺书
2016/03/24 职场文书
企业内部管理控制:采购授权审批制度范本
2020/01/19 职场文书
golang如何去除多余空白字符(含制表符)
2021/04/25 Golang