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 相关文章推荐
风格模板初级不完全修改教程
Oct 09 PHP
PHP 中的批处理的实现
Jun 14 PHP
浅析php与数据库代码开发规范
Aug 08 PHP
php与java通过socket通信的实现代码
Oct 21 PHP
PHP答题类应用接口实例
Feb 09 PHP
Smarty环境配置与使用入门教程
May 11 PHP
PHP环境搭建的详细步骤
Jun 30 PHP
php解析xml 的四种简单方法(附实例)
Jul 11 PHP
PHP实现模拟http请求的方法分析
Dec 20 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
Dec 02 PHP
实例讲解PHP表单
Jun 10 PHP
浅析PHP echo 和 print 语句
Jun 30 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入门的学习方法
2007/01/02 PHP
如何使用Gitblog和Markdown建自己的博客
2015/07/31 PHP
在CentOS系统上从零开始搭建WordPress博客的全流程记录
2016/04/21 PHP
php5.2的curl-bug 服务器被php进程卡死问题排查
2016/09/19 PHP
PHP中通过getopt解析GNU C风格命令行选项
2019/11/18 PHP
jQuery中调用WebService方法小结
2011/03/28 Javascript
JS截取url中问号后面参数的值信息
2014/04/29 Javascript
JS显示表格内指定行html代码的方法
2015/03/31 Javascript
关于js原型的面试题讲解
2016/09/25 Javascript
JS判断时间段的实现代码
2017/06/14 Javascript
元素全屏的设置与监听实例
2017/11/28 Javascript
JS实现基于拖拽改变物体大小的方法
2018/01/23 Javascript
mocha的时序规则讲解
2019/02/16 Javascript
js实现div色块碰撞
2020/01/16 Javascript
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
2020/02/01 jQuery
使用vue打包进行云服务器上传的问题
2020/03/02 Javascript
vue style width a href动态拼接问题的解决
2020/08/07 Javascript
[02:32]DOTA2亚洲邀请赛 C9战队出场宣传片
2015/02/07 DOTA
[00:35]DOTA2上海特级锦标赛 EG战队宣传片
2016/03/04 DOTA
Python的Twisted框架中使用Deferred对象来管理回调函数
2016/05/25 Python
Python txt文件加入字典并查询的方法
2019/01/15 Python
Python使用POP3和SMTP协议收发邮件的示例代码
2019/04/16 Python
Python实现一个数组除以一个数的例子
2019/07/20 Python
django实现web接口 python3模拟Post请求方式
2019/11/19 Python
python列表返回重复数据的下标
2020/02/10 Python
Python urllib2运行过程原理解析
2020/06/04 Python
python实现单机五子棋
2020/08/28 Python
Wiggle中国:英国骑行、跑步、游泳 & 铁三运动装备专卖网店
2016/08/02 全球购物
介绍一下Linux中的链接
2016/06/05 面试题
业务主管岗位职责
2013/11/20 职场文书
学生打架检讨书1000字
2014/01/16 职场文书
三年级数学教学反思
2014/01/31 职场文书
八一演出活动方案
2014/02/03 职场文书
小学生作文评语
2014/04/18 职场文书
竞选团支书演讲稿
2014/04/28 职场文书
python程序的组织结构详解
2021/12/06 Python