public function catelist(){ $cate=D('Cate'); //var_dump($cate->gettree());exit; $cateres=$cate->gettree(); $this->assign('cateres',$cateres); $this->display(); }
上面是很普通的数据库显示api操作。就把数据库的数据显示出来。要设计无限分类,首先,在model层定义一个gettree方法
//商品分类中查询的公共方法---无限分类 public function gettree($p = 0,$lv = 0){ $t = array();
//循环打印数据表里面的数据,此时循环出来的是一个个一维数组 foreach ($this->select() as $k => $v) {
//检查此时的数据的parent_id是否=0 if($v['parent_id'] == $p){
//子栏目缩进 $v['lv'] = $lv;
//把数组赋值给$t $t[] = $v; //检查.合并array_merge
$t = array_merge($t,$this->gettree($v['cate_id'],$lv+1)); } } return $t; }
前台控制器中:之后显示的就i是无线分类模块了。如图