Joomla:使用PHP从页面访问级别获取用户组

时间:2013-11-10 19:42:24

标签: php mysql sql joomla

在Joomla 2.5.16:

  1. 假设用户100属于用户组14和16。
  2. 假设他当前正在查看的页面的访问级别ID为6。
  3. 根据MySQL数据库中的“viewlevels”表,访问级别6适用于第8,16和17组
  4. 我的目标是为此页面找到“正确”的用户组。由于用户属于2个用户组,其中一个(16)包含在允许查看此页面的组数组中,如何查询数据库以查找该组?

    我试过了:

    $usr_id=100;
    $access=6;
    
    $query(SELECT rules from 'viewlevels' WHERE ???);
    

    表viewlevels的结构如下:

    ID   | rules
    6   |[8,16,17]
    

    表user_usergroup_map的结构如下:

    User_id   |Group_id
    100   |14
    100   |16
    

    请帮忙吗?

1 个答案:

答案 0 :(得分:0)

SELECT * FROM `#__viewlevels` AS `a` 
INNER JOIN `#__usergroups` AS `b` 
ON `a`.`rules` LIKE CONCAT('%',b.id,'%') 
INNER JOIN `#__user_usergroup_map` AS `m` 
ON m.group_id=b.id 
WHERE m.user_id = 100