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实现MySQL更新记录的代码
Jun 07 PHP
php分页函数示例代码分享
Feb 24 PHP
ThinkPHP框架设计及扩展详解
Nov 25 PHP
js代码实现微博导航栏
Jul 30 PHP
PHP中Closure类的使用方法及详解
Oct 09 PHP
php邮件发送的两种方式
Apr 28 PHP
php语言的7种基本的排序方法
Dec 28 PHP
PHP生成word文档的三种实现方式
Nov 14 PHP
详谈php中 strtr 和 str_replace 的效率问题
May 14 PHP
php 猴子摘桃的算法
Jun 20 PHP
Linux下源码包安装Swoole及基本使用操作图文详解
Apr 02 PHP
Laravel 不同生产环境服务器的判断实践
Oct 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
PHP生成Gif图片验证码
2013/10/27 PHP
浅析php如何实现爬取数据原理
2018/09/27 PHP
PHP simplexml_load_file()函数讲解
2019/02/03 PHP
html+css+js实现xp window界面及有关功能
2013/03/26 Javascript
Jquery封装tab自动切换效果的具体实现
2013/07/13 Javascript
jQuery实现等比例缩放大图片让大图片自适应页面布局
2013/10/16 Javascript
javascript实现json页面分页实例代码
2014/02/20 Javascript
jquery文本框中的事件应用以输入邮箱为例
2014/05/06 Javascript
解决jQuery uploadify在非IE核心浏览器下无法上传
2015/08/05 Javascript
Bootstrap实现input控件失去焦点时验证
2016/08/04 Javascript
JS动态计算移动端rem的解决方案
2016/10/14 Javascript
BootstrapValidator超详细教程(推荐)
2016/12/07 Javascript
javascript变量提升和闭包理解
2018/03/12 Javascript
微信小程序实现购物页面左右联动
2019/02/15 Javascript
Vue+tracking.js 实现前端人脸检测功能
2020/04/16 Javascript
[03:00]2014DOTA2国际邀请赛 Titan淘汰潸然泪下Ohaiyo专访
2014/07/15 DOTA
[47:06]DOTA2上海特级锦标赛主赛事日 - 4 败者组第五轮 MVP.Phx VS EG第一局
2016/03/05 DOTA
[54:27]TNC vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python求两个list的差集、交集与并集的方法
2014/11/01 Python
Python简单删除目录下文件以及文件夹的方法
2015/05/27 Python
Python字符串处理实现单词反转
2017/06/14 Python
解决Mac安装scrapy失败的问题
2018/06/13 Python
教你利用Python玩转histogram直方图的五种方法
2018/07/30 Python
Python PyQt5 Pycharm 环境搭建及配置详解(图文教程)
2019/07/16 Python
python 根据字典的键值进行排序的方法
2019/07/24 Python
在主流系统之上安装Pygame的方法
2020/05/20 Python
汉森冲浪板:Hansen Surfboards
2018/05/19 全球购物
乌克兰第一的珠宝网上商店:Gold.ua
2019/11/29 全球购物
英国在线玫瑰专家:InterRose
2019/12/01 全球购物
银行职员思想汇报
2013/12/31 职场文书
清正廉洁演讲稿
2014/05/22 职场文书
大学生感恩父母演讲稿
2014/08/28 职场文书
受资助学生感谢信
2015/01/21 职场文书
大学毕业生自我评价
2015/03/02 职场文书
简历自我评价优缺点
2015/03/11 职场文书
如何用JavaScript学习算法复杂度
2021/04/30 Javascript