php 无限极
1,递归
public function getInfo(){
$data=$this->select();
$arr=$this->noLimit($data,$f_id=0,$level=0);
return $arr;
}
//无限极分类
public function noLimit($data,$f_id=0,$level=0){
static $lists=array();
foreach($data as $key=>$v){
if($v['f_id']==$f_id){
$v['level']=$level;
$lists[]=$v;
$this->noLimit($data,$v['q_id'],$level+1);
}
}
return $lists;
}
$data=$this->select();
$arr=$this->noLimit($data,$f_id=0,$level=0);
return $arr;
}
//无限极分类
public function noLimit($data,$f_id=0,$level=0){
static $lists=array();
foreach($data as $key=>$v){
if($v['f_id']==$f_id){
$v['level']=$level;
$lists[]=$v;
$this->noLimit($data,$v['q_id'],$level+1);
}
}
return $lists;
}
2,普通
public function getInfo(){
$u_id=session('u_id');
$data=$this->join("user join user_role on user.u_id=user_role.u_id join role_quan
on user_role.j_id=role_quan.j_id join quan on quan.q_id=role_quan.q_id")->
where("user.u_id=$u_id and quan.f_id=0")->group("quan.q_id")->select();
foreach($data as $k=>$v){
$arr=$this->join("user join user_role on user.u_id=user_role.u_id join role_quan
on user_role.j_id=role_quan.j_id join quan on quan.q_id=role_quan.q_id")->
where("user.u_id=$u_id and quan.f_id=".$v['q_id'])->group("quan.q_id")->select();
$data[$k]['son']=$arr;
}
$u_id=session('u_id');
$data=$this->join("user join user_role on user.u_id=user_role.u_id join role_quan
on user_role.j_id=role_quan.j_id join quan on quan.q_id=role_quan.q_id")->
where("user.u_id=$u_id and quan.f_id=0")->group("quan.q_id")->select();
foreach($data as $k=>$v){
$arr=$this->join("user join user_role on user.u_id=user_role.u_id join role_quan
on user_role.j_id=role_quan.j_id join quan on quan.q_id=role_quan.q_id")->
where("user.u_id=$u_id and quan.f_id=".$v['q_id'])->group("quan.q_id")->select();
$data[$k]['son']=$arr;
}