用表结构简单解释:
用户
id | username |
1 | John |
2 | Michael |
艺术家
id | name |
1 | Bon Jovi |
2 | Beatles |
可编辑
id | artist_id | user_id |
1 | 1 | 1 |
2 | 1 | 2 |
3 | 2 | 2 |
您的脚本逻辑应该像这样解释 - John 可以编辑 Bon Jovi,但 Michael 可以编辑 Bon Jovi 和 Beatles。
例如,如果 John 已登录,它应该使用其 user_id -> 存储会话变量$_SESSION['id'] = 1
。
然后用户将要编辑披头士。您的逻辑检查:
SELECT tb1.name, tb2.user_id
FROM artists AS tb1.
INNER JOIN can_edit as tb2
ON tb1.id = tb2.artist_id
WHERE tb1.name = 'Beatles'
name | user_id |
Beatles | 2 |
所以你现在有一些代码可以在 PHP 中获取结果。
if ($_SESSION['id'] == $row['user_id']) { // if the output of the session variable (1) is equal to the output of the query (2)
... // allow editing
}
else {
... // don't allow
}
在这个例子中 $_SESSION['id'] 不等于 $row['user_id'],所以它不会让 John 编辑 Beatles