MySQL查询检查登录用户是否有权访问内容? (内容属于用户注册的类)

时间:2016-09-13 01:13:29

标签: php mysql

我有一个理论问题,我需要将其转换为MySQL中的数据库查询。

我有可以报名参加课程的学生。每个班级都有一些课堂讲座(内容)。 只有报名参加课程的学生才能访问分配给该课程的讲座。每个讲座都可以分配到N个班级。

我有几张桌子:

包含userID字段的USERS表。

包含contentID字段的内容表。

带有classID字段的CLASS表。

包含userIDclassID字段

的USERS-CLASSES表

包含classIDcontentID字段的CONTENTS-CLASSES表。

我不知道如何实际查询查询以检查登录用户的用户ID是否与用户想要的讲座类的classID相关联read属于(内容)。

任何线索都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

这可以通过简单的INNER JOIN

完成
SELECT 1 FROM USERS-CLASSES uc
INNER JOIN CONTENTS-CLASSES cc ON cc.classID = uc.classID
WHERE uc.userID = {userID}

如果查询返回1,则他们有权查看该内容。

如果您想知道用户ID AND classID,只需将其添加到您的位置。

SELECT 1 FROM USERS-CLASSES uc
INNER JOIN CONTENTS-CLASSES cc ON cc.classID = uc.classID
WHERE uc.userID = {userID}
AND uc.classID = {classID}