无限极循环-简单2层栏目的遍历
先看一下效果图:
有无限极循环关键就是增加一个父级字段,我起名叫parent_id.我的栏目表是这样设计的:
首先把表的数据查出来赋给$data;要求是数据的形式;
上代码:
如下是图片的代码:
public function getTree($parent_id=0,$lv=0){ //给一个初值是零$lv是为了让3层目录有层次感显示出来.
$tree = array(); //定义一个空数组,存循环的数据
foreach($data as $v){
if($v[‘parent_id’] == $parent_id){ //先把第一层($parent_id=零)找出来
$v[‘lv’] = $lv; //将空格的数当做的一个$v的键
$tree[] = $v; //将数据存到$tree
$tree = array_merge($tree,$this->getTree($v[‘cat_id’],$lv+1));//将 cat_id = 1再作为$parent_id,将空格$lv+1,继续循环调用.将循环后的结果(数组的形式,合并起来)
}
}
return $tree; //返回循环后的结果
}
打印一下$tree
}
然后在模板上遍历:此处是在tp的模板上遍历的
. ……………………………………………………………………………………………………………..
如果想达到这样的效果(只是显示出来2层):
在前台中则需要改一下遍历输出的方式:
2层就搞定了,如果想要显示3层,可就不是这样了.具体方法,参考博文:3层遍历.