新建的顶级分类又会显示出来
版本号:3.2.3
common/function.php代码
function fenlei(&$list,$html="--",$pid = 0,$level = 0) {
$arr = array();
/*
* 无限级分类
* @access public
* @param Array $list //数据库里获取的结果集
* @param Int $pid //第几级分类
* @param Int $level
* @return Array $arr
*/
foreach ($list as $v){
// dump($v['name']);
if($v['pid'] == $pid){
$v['level'] = $level+1;
$v['html'] = str_repeat($html,$level);
$arr[]=$v;
unset($list[$v]);
$arr = array_merge($arr,fenlei($list,$html,$v['id'],$level+1));
}
}
return $arr ;
}
控制器代码public function index(){
$User = D('Fenlei');
$count = $User->count();// 查询满足要求的总记录数
$Page = new \Think\Page($count,10);// 实例化分页类 传入总记录数和每页显示的记录数(10)
$Page->lastSuffix=false;
$Page->setConfig('header','共<b>%TOTAL_ROW%</b>条记录 第<b>%NOW_PAGE%</b>页/共<b>%TOTAL_PAGE%</b>页');
$Page->setConfig('prev','上一页');
$Page->setConfig('next','下一页');
$Page->setConfig('last','尾页');
$Page->setConfig('first','首页');
$Page -> setConfig('theme','%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%');
$show = $Page->show();// 分页显示输出
$list = $User->order('sort DESC')->limit($Page->firstRow.','.$Page->listRows)->select();
$this->assign('list',fenlei($list));// 赋值数据集
$this->assign('page',$show);// 赋值分页输出
$this->display(); // 输出模板
}
View代码<td><{$vo.id}></td>
<td><{$vo.html}><{$vo.name}></td>
<td><{$vo.level}></td>
<td><{$vo.sort}></td>
最佳答案
