gpt4 book ai didi

php - 从表中获取用户,其中 group=另一个表行的组,但我有其他表行的 id

转载 作者:行者123 更新时间:2023-11-29 17:10:39 25 4
gpt4 key购买 nike

我的用户表:

enter image description here

GROUP_PERMISSIONS 表

enter image description here

问题:

如何获取该组的所有用户(来自用户表),即等于 groups_permissions 表的组,但我拥有 groups_permissions 表中的组的 gid

代码:(我已经尝试过(它还有一些其他功能))

$stmt = $db_con->query("SELECT gp.*, s.*, uu.*, ug.* FROM (SELECT * FROM groups_permissions WHERE gid={$_POST['gp_row_id']}) gp, (SELECT * FROM settings WHERE id='1') s, (SELECT username FROM users ORDER BY id) uu, (SELECT username FROM users WHERE `group`=gp.group_name WHERE gp.gid={$_POST['gp_row_id']}) ug");            
$stmt->execute();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
/* FROM GROUP_PERMISSIONS TABLE */
$response['id'] = $row['gid'];
$response['group'] = $row['group_name'];
$response['restricted_pages'] = $row['restricted_pages'];
$response['restricted_permissions'] = $row['restricted_permissions'];
/* FROM SETTINGS TABLE */
$response['site_pages'] = $row['site_pages'];
$response['site_permissions'] = $row['site_permissions'];
/* FROM USERS TABLE */
$active_ids[]= $row['username'];
$userlist = join(",", $active_ids);
$string = trim($userlist,'"');
$response['users'] = $string;
}
echo json_encode($response);

例如如果提交表单时我从 groups_permissions 获取组 dsf 的行 id 5 (参见上图),那么我想从用户表中获取组 dsf 的所有用户但由于我有 groups_permissions 表中的组 ID,所以我不知道该使用什么,但就像 Select username from users WHERE group='dsf' from requests_table 而是通过 gid 的帮助选择组

最佳答案

如果我没猜错的话,选择应该是

"SELECT *
FROM users
INNER JOIN permissions_table ON permissions_table.group_name = users.group
WHERE permissions_table.gid = {$_POST['gp_row_id']}"

我建议将组 ID 保留在用户表中,而不是组名称,因为这对于关系数据库来说是正确的做法。

关于php - 从表中获取用户,其中 group=另一个表行的组,但我有其他表行的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51899835/

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