//后台Controller类中的方法 public function index(){ $users = D('Admin'); $at=I('get.at'); if(empty($at)){ $re = $users->findAll(); }elseif($at==4){ $re = $users->findAll(); }else{ $re = $users->getRole($at); } if(is_array($re)){ $role=$this->getAuth(); unset($role[3]); $this->assign('ro',$at); $this->assign('role',$role); $this->assign('meta_title','管理员管理'); $this->assign('user',$re); $this->display(); }else{ $this->error('没有管理员,请添加',U('Admin/add'),1); } }
//Model
/**
* 查找所有管理员信息
* 返回数组成功false失败
*/
public function findAll(){
$user=$this->table('admin a')->where(array('a.status'=>1))->field('a.*,b.name as sdeptname,c.group_id as groupid')->join('__SDEPT__ b ON a.sdept = b.id')->join('__AUTH_GROUP_ACCESS__ c on a.id = c.uid')->relation(true)->select();
if($user){
return $user;
}else
return false;
}
/* * 获取某个角色的一类人 * $role_id:角色的id */
public function getRole($role_id=null){
$admin=$this->findAll();
if(!is_null($role_id)){
foreach($admin as $key=>$val){
if($val['role_id']!=$role_id){
unset($admin[$key]);
}
}
}
return $admin;
}
<select name="role" class="form-control" οnchange="change(this.value)"> <option value="{:U('Admin/index')}">全部</option> <volist name="role" id="r"> <option value="{:U('Admin/index',array('at'=>$r['id']))}" <if condition="$r['id'] eq $ro">selected</if>>{$r['title']}</option> </volist></select>
<script>
function change(url){
location.href=url;
}
</script>