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 相关文章推荐
一个ORACLE分页程序,挺实用的.
Oct 09 PHP
php时间不正确的解决方法
Apr 09 PHP
封装一个PDO数据库操作类代码
Sep 09 PHP
一步一步学习PHP(6) 面向对象
Feb 16 PHP
php中大括号作用介绍
Mar 22 PHP
PHP cdata 处理(详细介绍)
Jul 05 PHP
php开启openssl的方法
May 15 PHP
php中getservbyport与getservbyname函数用法实例
Nov 18 PHP
9个经典的PHP代码片段分享
Dec 18 PHP
PHP获取文件相对路径的方法
Feb 26 PHP
php检测mysql表是否存在的方法小结
Jul 20 PHP
Yii框架的布局文件实例分析
Sep 04 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使用GIFEncoder类处理gif图片实例
2014/07/01 PHP
ThinkPHP实现将SESSION存入MYSQL的方法
2014/07/22 PHP
PHP错误Warning: Cannot modify header information - headers already sent by解决方法
2014/09/27 PHP
PHP中使用addslashes函数转义的安全性原理分析
2014/11/03 PHP
php隐藏IP地址后两位显示为星号的方法
2014/11/21 PHP
discuz目录文件资料汇总
2014/12/30 PHP
Javascript模块模式分析
2008/05/16 Javascript
jquery实现将获取的颜色值转换为十六进制形式的方法
2014/12/20 Javascript
jQuery配合coin-slider插件制作幻灯片效果的流程解析
2016/05/13 Javascript
用原生JS对AJAX做简单封装的实例代码
2016/07/13 Javascript
Bootstrap Img 图片样式(推荐)
2016/12/13 Javascript
JS日程管理插件FullCalendar中文说明文档
2017/02/06 Javascript
12个非常有用的JavaScript技巧
2017/05/17 Javascript
移动端Ionic App 资讯上下循环滚动的实现代码(跑马灯效果)
2017/08/29 Javascript
微信小程序之数据缓存的实例详解
2017/09/29 Javascript
js计算两个日期间的天数月的实例代码
2018/09/20 Javascript
浅谈Vue CLI 3结合Lerna进行UI框架设计
2019/04/14 Javascript
vue2.0项目集成Cesium的实现方法
2019/07/30 Javascript
python中django框架通过正则搜索页面上email地址的方法
2015/03/21 Python
Python多线程编程简单介绍
2015/04/13 Python
Python脚本在Appium库上对移动应用实现自动化测试
2015/04/17 Python
python 网络编程常用代码段
2016/08/28 Python
Python利用QQ邮箱发送邮件的实现方法(分享)
2017/06/09 Python
获取Django项目的全部url方法详解
2017/10/26 Python
python执行系统命令后获取返回值的几种方式集合
2018/05/12 Python
python中map的基本用法示例
2018/09/10 Python
Python Numpy库datetime类型的处理详解
2019/07/13 Python
利用Python计算KS的实例详解
2020/03/03 Python
python如何代码集体右移
2020/07/20 Python
家长通知书教师评语
2014/04/17 职场文书
个人授权委托书样本
2014/09/13 职场文书
教师个人考察材料
2014/12/16 职场文书
欢迎新生标语2015
2015/07/16 职场文书
自书遗嘱范文
2015/08/07 职场文书
导游词之沈阳植物园
2019/11/30 职场文书
教你使用RustDesk 搭建一个自己的远程桌面中继服务器
2022/08/14 Servers