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 水平的题目
May 30 PHP
PHP下一个非常全面获取图象信息的函数
Nov 20 PHP
php $_SERVER[&quot;REQUEST_URI&quot;]获取值的通用解决方法
Jun 21 PHP
php分页函数示例代码分享
Feb 24 PHP
windows服务器中检测PHP SSL是否开启以及开启SSL的方法
Apr 25 PHP
php获取文件名后缀常用方法小结
Feb 24 PHP
PHP获取一年有几周以及每周开始日期和结束日期
Aug 06 PHP
php使用正则验证中文
Apr 06 PHP
php生成二维码图片方法汇总
Dec 17 PHP
php PDO判断连接是否可用的实现方法
Apr 03 PHP
PHP+MySQL实现消息队列的方法分析
May 09 PHP
PHP使用 Pear 进行安装和卸载包的方法详解
Jul 08 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
基于HTTP长连接的&quot;服务器推&quot;技术的php 简易聊天室
2009/10/31 PHP
基于Windows下Apache PHP5.3.1安装教程
2010/01/08 PHP
PHPCMS的使用小结
2010/09/20 PHP
简单的cookie计数器实现源码
2013/06/07 PHP
ThinkPHP3.1新特性之命名范围的使用
2014/06/19 PHP
destoon利用Rewrite规则设置网站安全
2014/06/21 PHP
PHP数组操作类实例
2015/07/11 PHP
Yii实现简单分页的方法
2016/04/29 PHP
传递参数的标准方法(jQuery.ajax)
2008/11/19 Javascript
var与Javascript变量隐式声明
2009/09/17 Javascript
jquery下动态显示jqGrid以及jqGrid的属性设置容易出现问题的解决方法
2010/10/22 Javascript
jquery 列表双向选择器之改进版
2013/08/09 Javascript
jquery做的一个简单的屏幕锁定提示框
2014/03/26 Javascript
详解AngularJS 模态对话框
2016/04/07 Javascript
Node.js刷新session过期时间的实现方法推荐
2016/05/18 Javascript
jquery分隔Url的param方法(推荐)
2016/05/25 Javascript
JS作用域链详解
2017/06/26 Javascript
JavaScript实现表单注册、表单验证、运算符功能
2018/10/15 Javascript
layui监听单元格编辑前后交互的例子
2019/09/16 Javascript
react native 仿微信聊天室实例代码
2019/09/17 Javascript
js数组中去除重复值的几种方法
2020/08/03 Javascript
[04:32]DOTA2著名解说配音敌法师 现场专访海涛怒切假腿
2013/12/20 DOTA
python高并发异步服务器核心库forkcore使用方法
2013/11/26 Python
python分析网页上所有超链接的方法
2015/05/08 Python
python3.6环境安装+pip环境配置教程图文详解
2019/06/20 Python
pandas的排序和排名的具体使用
2019/07/31 Python
python 字典套字典或列表的示例
2019/12/16 Python
Python Scrapy框架第一个入门程序示例
2020/02/05 Python
沙特阿拉伯网上购物:Sayidaty Mall
2018/05/06 全球购物
优秀民警事迹材料
2014/01/29 职场文书
合理化建议书范文
2015/09/14 职场文书
2019中小学生安全过暑期倡议书
2019/06/24 职场文书
2019年描写人生经典诗句大全
2019/07/08 职场文书
MySQL中InnoDB存储引擎的锁的基本使用教程
2021/05/26 MySQL
win10如何快速切换窗口 win10切换窗口快捷键分享
2022/07/23 数码科技
MySQL使用IF语句及用case语句对条件并结果进行判断 
2022/09/23 MySQL