/*
* $node 查询数据库之后的结果集
* $cen 循环到第几层
* $pid 父级的id,第一级的父级默认为 0
* 目的:生成 UL Li嵌套的菜单树
*/
private function mergeTree($node,$cen= 1,$parent_id=0){
$tree="<ul ";
if($cen==1){
$tree.="class='easyui-tree'";
}
$tree.=">";
foreach($node as $v) {
if($v['parent_id']==$parent_id){
$tree.="<li>";
$tree.="<span>";
$tree.=$v["title"];
$tree.="</span>";
$have_next=false;
foreach($node as $n){
if($n["parent_id"]==$v["id"]){
$have_next=true;
}
}
if($have_next){
$cen+= 1;
$tree.=$this->mergeTree($node,$cen,$v["id"]);
}
$tree.="</li>";
}
}
return $tree."</ul>";
}
传入数据生成的html是下面这样的
<ul class="easyui-tree">
<li>
<span>某某总公司</span>
<ul>
<li>
<span>职能部门</span>
<ul>
<li><span>人力资源部</span></li>
<li><span>业务系统部</span></li>
<li><span>财务部</span></li>
<li><span>董事会</span></li>
</ul>
</li>
<li>
<span>国内事业部</span>
<ul>
<li><span>北京分公司</span></li>
<li><span>上海分公司</span></li>
<li><span>杭州分公司</span></li>
</ul>
</li>
<li>
<span>海外事业部</span>
<ul>
<li><span>纽约事业部</span></li>
<li><span>硅谷事业部</span></li>
<li><span>欧盟事业部</span></li>
<li><span>东南亚事业部</span></li>
</ul>
</li>
</ul>
</li>
</ul>