0

Joomla 2.5.16 では:

  1. ユーザー 100 がユーザー グループ 14 と 16 に属しているとします。
  2. 彼が現在表示しているページのアクセス レベル ID が 6 であるとします。
  3. MySQL データベースのテーブル「viewlevels」によると、アクセス レベル 6 はグループ 8、16、および 17 で使用できます。

私の目標は、このページに「適切な」ユーザー グループを見つけることです。ユーザーは 2 つのユーザー グループに属しており、そのうちの 1 つ (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

何か助けてください。

4

1 に答える 1

-1
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
于 2013-11-29T14:35:40.220 に答える