//获取权限列表

public function getPriveList($id){

$sql=”SELECT m.id, m.name

FROM jh_user AS u, jh_role AS r, jh_role_user AS ru, jh_prive AS p, jh_menu AS m

WHERE u.id = ru.user_id

AND ru.role_id = r.id

AND r.id = p.role_id

AND m.id = p.menu_id

AND m.status =1

AND m.level =1

AND u.id ={$id}”;

$rs=$this->query($sql);

//$row=$this->fetch_assoc($rs);

$m1=array();

while ($row=$this->fetch_assoc($rs)){

$m1[]=$row;

}

$prive=array();

foreach ($m1 as $key=>$v){

$priveId=$v[‘id’];

$priveName=$v[‘name’];

$prive[strtoupper($priveName)]=array();

$sql2=”SELECT m.id, m.name

FROM jh_user AS u, jh_role AS r, jh_role_user AS ru, jh_prive AS p, jh_menu AS m

WHERE u.id = ru.user_id

AND ru.role_id = r.id

AND r.id = p.role_id

AND m.id = p.menu_id

AND m.status =1

AND m.level =2

AND m.pid ={$priveId}

AND u.id ={$id}”;

$rs2=$this->query($sql2);

$m2=array();

while ($row2=$this->fetch_assoc($rs2)){

$m2[]=$row2;

}

//判断公共模块 www.2cto.com

$Public=array();

foreach ($m2 as $key =>$m){

$pId=$m[‘id’];

$pName=$m[‘name’];

if(‘PUBLIC’==strtoupper($m[‘name’])){

$sql3=”SELECT m.id, m.name

FROM jh_user AS u, jh_role AS r, jh_role_user AS ru, jh_prive AS p, jh_menu AS m

WHERE u.id = ru.user_id

AND ru.role_id = r.id

AND r.id = p.role_id

AND m.id = p.menu_id

AND m.status =1

AND m.level =3

AND m.pid ={$pId}

AND u.id ={$id}”;

$rs3=$this->query($sql3);

$m3=array();

while ($row3=$this->fetch_assoc($rs3)){

$m3[]=$row3;

}

foreach ($m3 as $val){

$Public[$val[‘name’]]=$val[‘id’];

}

//print_r( $m2[$key]);

unset($m2[$key]);

break;

}

}

// print_r($Public);

foreach ($m2 as $key =>$m){

$pId=$m[‘id’];

$pName=$m[‘name’];

$sql4=”SELECT m.id, m.name

FROM jh_user AS u, jh_role AS r, jh_role_user AS ru, jh_prive AS p, jh_menu AS m

WHERE u.id = ru.user_id

AND ru.role_id = r.id

AND r.id = p.role_id

AND m.id = p.menu_id

AND m.status =1

AND m.level =3

AND m.pid ={$pId}

AND u.id ={$id}”;

$rs4=$this->query($sql4);

$m4=array();

while ($row4=$this->fetch_assoc($rs4)){

$m4[]=$row4;

}

$action=array();

foreach ($m4 as $va){

$action[$va[‘name’]]=$va[‘id’];

}

$action+=$Public;

$prive[strtoupper($priveName)][strtoupper($pName)] =array_change_key_case($action,CASE_UPPER);

}

}

print_r($prive);

}

摘自 chaojie2009的专栏

www.bkjia.comtrueTechArticle//获取权限列表 public function getPriveList($id){ $sql=SELECT m.id, m.name FROM jh_user AS u, jh_role AS r, jh_role_user AS ru, jh_prive AS p, jh_menu AS m WHERE u.id = ru.us…

php 获取权限,php 获取权限列表函数_PHP教程相关推荐

  1. php怎么读取上传文件的md5,PHP获取上传文件的md5码_PHP教程

    由于需要判断上传的文件是否被修改过,需要记录上传文件的md5值,这里记录一下获取文件md5值的方法. if(isset($_FILES['multimedia']) && $_FILE ...

  2. php获得服务器路径,PH获取当前url路径及服务器路径汇总 (url 获取当前路径 服务器路径),ph当前路径_PHP教程...

    PH获取当前url路径及服务器路径汇总 (url 获取当前路径 服务器路径),ph当前路径 以下是整理的一些, php中获取路径的小知识, 希望对你有所帮助! 1,$_SERVER["QUE ...

  3. php查找顶级分类,php 无限级分类 获取顶级分类ID,php顶级_PHP教程

    php 无限级分类 获取顶级分类ID,php顶级 有这样一个表,id是分类的ID,name是分类名称,pid是上级分类的ID. 现在有个分类ID,程序要找到它上级的上级的上级--分类的ID,简单说就是 ...

  4. php解析手机号 归属地,PHP通过API获取手机号码归属地,api手机号码_PHP教程

    PHP通过API获取手机号码归属地,api手机号码 该API接口自 2011年 SAE平台上线稳定运行至今,增加了17号段的支持,欢迎各种采集注限制 并发10 详细使用说明 接口地址:http://a ...

  5. php 获取qq头像,php获取QQ头像并显示的方法_PHP教程

    php获取QQ头像并显示的方法 最近看到博客留言的头像有点别扭,因为游客的头像都是同一个头像,看着不是很舒服.虽然现在绝大多数的主题集成了Gavatar头像功能,先不说gavatar被墙的问题,我自己 ...

  6. strrchr php,php strstr() strrchr() strpos() strrpos()函数_PHP教程

    $str1="I have a great dream."; echo "原始字符串:".$str1." "; echo "用st ...

  7. php金币格式转换,php 资金格式转换函数_PHP教程

    // 函数名:ExchangeMoney($N_money) // 作 用:资金转换函数 // 参 数:$N_money(待转换的金额数字) // 返回值:字符串 // 备 注:本函数示例:$char ...

  8. encode函数php,utf8_encode()与utf8_decode函数_PHP教程

    utf8_encode() 函数把 iso-8859-1 字符串编码为 utf-8. utf8_encode(string); */ $str="你好,世界!"; //定义字符串 ...

  9. PHP求两个数据的交集,php计算两数组交集两个函数_PHP教程

    ,使用 array_intersect 求两个数组的交集比使用 array_diff 求同样两个数组的并集要快. 如果要求数组 $a 与数组 $b 的差集的个数,应该使用 count($a) - co ...

最新文章

  1. 《软技能:代码之外的生存指南》一一11.1 明智的处理方式
  2. mciSendString用法
  3. 使用core data
  4. mysql-二进制日志
  5. how Kyma connection is established for the first time
  6. WebRTC促进跨平台指挥调度,触发安防应用新创意
  7. MFC下debug改成release版本出现问题及解决办法
  8. MySQL 一条SQL语句执行得很慢的原因有哪些?
  9. java字符串截取删除_字符串截取的常用方法
  10. 2套后台模板HTML+整套Easyui皮肤组件-后台管理系统模板
  11. 【JSP入门】只知道HTML却不知道JSP?
  12. ic和mos怎么区分_快速掌握MOS管源极和漏极的区别!看了受益匪浅!
  13. Park 变换 系数2/3的由来
  14. python的list的基本操作、list循环、切片、字典基本操作、字典嵌套、字符串常用方法...
  15. 评价页面,随手写的评价简陋模板
  16. 60佳灵感来自大自然的网页设计作品欣赏
  17. 基于 HTML5 WebGL 的 CPU 仿真 3D 可视化
  18. 【redis源码分析】Redis Sentinel 是如何实际解决分布式共识问题的
  19. dvwa详解_DVWA(六):XSS-Reflected 反射型XSS全等级详解
  20. 图文:微博平台首席架构师杨卫华演讲

热门文章

  1. Object类、常用API
  2. QTcpServer / QTcpSocket 简单示例
  3. Android通过广播监测Wi-Fi和便携式热点开关状态
  4. docker centos7_centos7-yum部署docker
  5. 3.1.1 存储器的分类(半导体-磁芯-磁表面-光存储-ROM-RAM-永久非永久-内存-外存-Cache)
  6. 4.1.2 OS之文件逻辑结构(顺序文件、索引文件、索引顺序文件、多级索引顺序文件)关于数据库的索引如聚簇索引可以看一下索引文件例题的解析,感觉还是可以收获到东西的
  7. android去广告软件下载,Android文本编辑器(QuickEdit)V1.1.4 精简去广告版
  8. php配置文件能直接用吗,我应该在PHP应用程序中使用YAML配置文件吗?
  9. just函数 python_在python里写Monad
  10. vue 自己写上传excel组件_vue结合elementui组件 el-upload 上传excel表格(二)