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

Php 查询和列出管理级别-连接两个表,php,mysql,Php,Mysql,我想创建一个管理组,它可以通过这个级别表访问数据, 低级别无法查看高级别的数据  0 =>  3 高=>低 用户表: --------------------- uid gid uname --------------------- 110 4 Jacky =>means {gname: art_admin ,level: 2} 111 1 Niky =>means {gname: site_admin ,level: 0} 11

我想创建一个管理组,它可以通过这个级别表访问数据, 低级别无法查看高级别的数据

 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
这意味着杰基属于“艺术行政”,他的级别为“2”。 因此,当他查看all user表时,它只显示2以下的级别

  • 杰基可以看到:,
  • Niky较高,因此他可以看到所有用户:
  • 乔个子较低,所以她只能看到自己:
  • 然后,我如何查询它?谢谢

    伪代码

    $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'
                     );
    

    mysql_*已弃用,请使用mysqli_*或PDOarter确保接受正确答案!谢谢,我现在正在尝试使用PDO