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 相关文章推荐
如何去掉文章里的 html 语法
Oct 09 PHP
PHP图片验证码制作实现分享(全)
May 10 PHP
求帮忙修改个php curl模拟post请求内容后并下载文件的解决思路
Sep 20 PHP
php邮件发送的两种方式
Apr 28 PHP
PHP如何通过AJAX方式实现登录功能
Nov 23 PHP
最新最全PHP生成制作验证码代码详解(推荐)
Jun 12 PHP
php使用escapeshellarg时中文被过滤的解决方法
Jul 10 PHP
PHP入门教程之上传文件实例详解
Sep 11 PHP
PHPExcel在linux环境下导出报500错误的解决方法
Jan 26 PHP
php使用PDO事务配合表格读取大量数据插入操作实现方法
Feb 16 PHP
PHP实现基于PDO扩展连接PostgreSQL对象关系数据库示例
Mar 31 PHP
php的instanceof和判断闭包Closure操作示例
Jan 26 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 include加载文件两种方式效率比较
2010/08/08 PHP
php中用foreach来操作数组的代码
2011/07/17 PHP
xss防御之php利用httponly防xss攻击
2014/03/21 PHP
PHP模拟post提交数据方法汇总
2016/02/16 PHP
thinkphp修改配置进入默认首页的方法
2017/02/07 PHP
Ajax+Json 级联菜单实现代码
2009/10/27 Javascript
基于jQuery实现点击同时更改两个iframe的网址
2010/07/01 Javascript
node.js chat程序如何实现Ajax long-polling长链接刷新模式
2012/03/13 Javascript
基于dom编程中 动态创建与删除元素的使用
2013/04/17 Javascript
node.js正则表达式获取网页中所有链接的代码实例
2014/06/03 Javascript
javascript实现checkBox的全选,反选与赋值
2015/03/12 Javascript
JQuery中基础过滤选择器用法实例分析
2015/05/18 Javascript
javascript实现的简单计时器
2015/07/19 Javascript
jquery实现页面常用的返回顶部效果
2016/03/04 Javascript
Node.js插件安装图文教程
2016/05/06 Javascript
AngularJS中的表单简单入门
2016/07/28 Javascript
NodeJS远程代码执行
2016/08/28 NodeJs
vue + typescript + 极验登录验证的实现方法
2019/06/27 Javascript
[01:02:38]DOTA2-DPC中国联赛定级赛 LBZS vs Phoenix BO3第二场 1月10日
2021/03/11 DOTA
python使用urllib模块开发的多线程豆瓣小站mp3下载器
2014/01/16 Python
简单谈谈python中的Queue与多进程
2016/08/25 Python
python中解析json格式文件的方法示例
2017/05/03 Python
django ManyToManyField多对多关系的实例详解
2019/08/09 Python
python发qq消息轰炸虐狗好友思路详解(完整代码)
2020/02/15 Python
PyQt5实现仿QQ贴边隐藏功能的实例代码
2020/05/24 Python
加拿大当代时尚服饰、配饰和鞋类专业零售商和制造商:LE CHÂTEAU
2017/10/06 全球购物
意大利网上药房:Farmacia 33
2020/01/27 全球购物
学生学习总结的自我评价
2013/10/22 职场文书
医科大学生毕业的自我评价分享
2013/11/12 职场文书
毕业生的自我评价
2013/12/30 职场文书
大二学生职业生涯规划书
2014/02/05 职场文书
高一学生评语大全
2014/04/25 职场文书
2014年四风个人对照检查及整改措施
2014/10/28 职场文书
追悼会答谢词
2015/01/05 职场文书
2019年怎样才能撰写出优秀的自荐信
2019/03/25 职场文书
Python实战之大鱼吃小鱼游戏的实现
2022/04/01 Python