数据层一个方法递归查询分类,返回多维数组。
控制器一个方法拼接html搞定
效果图:
//没有排序哦~~<br>
//数据库是wordpress的结构,如需了解数据结构,请自行百度wordpress数据库<br>
<br>
<br>
/*-------------------------------------一下是model层文件-----------------------------------*/<br>
//model层方法<br>
public function getCateTree($parentId=0){<br>
$Model=new Model();<br>
$sql='select t1.*,t2.* from t_terms t1<br>
left join t_term_taxonomy t2 on t1.term_id=t2.term_id<br>
WHERE t2.taxonomy="category" AND t2.parent='.$parentId;<br>
$parentCates=$Model->query($sql);<br>
foreach($parentCates as $key=>$value){<br>
$parentCates[$key]['child']=$this->getCateTree($value['term_id']);<br>
}<br>
return $parentCates;<br>
}<br>
<br>
/*---------------------------以下是控制器层文件------------------------------*/<br>
<br>
//拼接html方法<br>
/**<br>
* $cates 分类多维数组<br>
* $index 多维数组层次,默认$index=1即最顶层,之后每次+1<br>
* return html<br>
* */<br>
public function cateTreeHtml($cates,$index)<br>
{<br>
if($index==1){<br>
$treeHtml='<ul>';//最外侧第一级<br>
}else{<br>
$treeHtml = '<ul>';<br>
}<br>
foreach ($cates as $value) {<br>
$child='';<br>
if (count($value['child']) != 0) {<br>
$child=$this->cateTreeHtml($value['child'],$index+1);//递归<br>
}<br>
$treeHtml .= '<li>
<br>
<label><br>
<input><br>
'.$value['name'].'<br>
</label><br>
'.$child//子分类<br>
.'</li>';<br>
}<br>
$treeHtml .= '</ul>';<br>
return $treeHtml;<br>
}<br>
//////////////////////////////////////////////////////////通过model层获取多维分类多维数组调用cateTreeHtml()方法<br>
//控制器层通过递归函数获取html<br>
$catesHtml=$this->cateTreeHtml($cates,$index=1);<br>
$postTags = $termModel->getPostTags($id);</ul>
AD:真正免费,域名+虚机+企业邮箱=0元