CI框架无限级分类+递归的实现代码

 更新时间:2016年11月01日 10:13:02   投稿:mrr  
CodeIgniter是一个轻量级但功能强大的PHP框架,基于MVC设计模式,提供了一套丰富的类库,简单易学,高效实用。下面给大家介绍CI框架无限级分类+递归的实现代码,感兴趣的朋友参考下吧

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('&nbsp;&nbsp;&nbsp;&nbsp;',$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框架无限级分类+递归的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • ThinkPHP框架任意代码执行漏洞的利用及其修复方法

    ThinkPHP框架任意代码执行漏洞的利用及其修复方法

    这篇文章主要介绍了ThinkPHP框架任意代码执行漏洞的利用及其修复方法,该漏洞的修复对于广大使用ThinkPHP的开发人员来说尤为重要!需要的朋友可以参考下
    2014-07-07
  • Yii配置文件用法详解

    Yii配置文件用法详解

    这篇文章主要介绍了Yii配置文件用法,以实例形式较为详细的分析了项目开发中的控制器、项目名、pathinfo、日志等的配置技巧,非常具有实用价值,需要的朋友可以参考下
    2014-12-12
  • 关于 Laravel Redis 多个进程同时取队列问题详解

    关于 Laravel Redis 多个进程同时取队列问题详解

    这篇文章主要给大家介绍了关于 Laravel Redis 多个进程同时取队列问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或工作具有一定的参考学习价值,需要的朋友下面来一起学习学习吧。
    2017-12-12
  • ThinkPHP通过AJAX返回JSON的两种实现方法

    ThinkPHP通过AJAX返回JSON的两种实现方法

    这篇文章主要介绍了ThinkPHP通过AJAX返回JSON的两种实现方法,分析了ThinkPHP中内置的ajaxReturn函数的用法,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • thinkphp5.1框架模板布局与模板继承用法分析

    thinkphp5.1框架模板布局与模板继承用法分析

    这篇文章主要介绍了thinkphp5.1框架模板布局与模板继承用法,结合实例形式分析了thinkPHP5.1框架模板布局与模板继承相关配置、调用、操作技巧与注意事项,需要的朋友可以参考下
    2019-07-07
  • 完美解决Thinkphp3.2中插入相同数据的问题

    完美解决Thinkphp3.2中插入相同数据的问题

    下面小编就为大家带来一篇完美解决Thinkphp3.2中插入相同数据的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • 分享PHP源码批量抓取远程网页图片并保存到本地的实现方法

    分享PHP源码批量抓取远程网页图片并保存到本地的实现方法

    本篇文章给大家分享PHP源码批量抓取远程网页图片并保存到本地的实现方法,对批量抓取网页图片相关知识感兴趣的朋友一起学习吧
    2015-12-12
  • PHP判断是否是微信打开还是浏览器打开的方法

    PHP判断是否是微信打开还是浏览器打开的方法

    今天小编就为大家分享一篇关于PHP判断是否是微信打开还是浏览器打开的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • php将html转为图片的实现方法

    php将html转为图片的实现方法

    下面小编就为大家带来一篇php将html转为图片的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • PHP通过API获取手机号码归属地

    PHP通过API获取手机号码归属地

    本API支持1、可输入11位手机号查询归属地如:13858861234,2、可输入7位号段查询归属地如:1335586,3、支持号段 13、14、15、17、18,有需要的小伙伴可以参考下。
    2015-05-05

最新评论