gpt4 book ai didi

php - 查询和列出管理级别 - 连接两个表

转载 作者:行者123 更新时间:2023-11-29 05:21:01 26 4
gpt4 key购买 nike

我想创建一个可以通过这个级别表访问数据的管理员组,底层看不到高层的数据。

〈0 =>〉3
高 =>

用户表:

---------------------
uid gid uname
---------------------
110 4 Jacky =>means {gname: art_admin ,level: 2}
111 1 Niky =>means {gname: site_admin ,level: 0}
112 4 Cupe =>means {gname: art_admin ,level: 2}
113 2 Nancy =>means {gname: gen_admin ,level: 1}
113 5 Joe =>means {gname: admin ,level: 3}

组表:

---------------------
gid gname level
---------------------
1 site_admin 0
2 gen_admin 1
3 sys_admin 1
4 art_admin 2
5 admin 3

这意味着 Jacky 属于'art_admin',他的等级是'2'。所以当他查看所有用户表时,它只显示 2 以下的级别。

  1. Jacky 可以看到:
  2. Niky 更高,所以他可以看到所有用户: ,
  3. Joe 较低,所以她只能看到自己:

然后,我该如何查询呢?谢谢。

伪代码

$uid = 110 ;// Assume I'm Jacky
$result = mysql_query("
SELECT
user.uname from user
WHERE
[ group.level >= Jacky's level ]
";);

while($row = mysql_fetch_array($result)){
echo $row['uname']." , ";
}

它应该返回

 Jacky , Cupe , Joe

最佳答案

这是您要查找的查询吗?

select u.uname
from user u join
groups g
on u.gid = g.gid
where g.level >= (select g2.level
from user u2 join
groups g2
on u2.gid = g2.gid
where u2.uname = 'Jacky'
);

关于php - 查询和列出管理级别 - 连接两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25789273/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com