我有一个小问题,我试图建立自己的论坛,但我陷入困境。
我有3个表,1个用户具有user_level(身份验证级别)。
forum_section包含所有再次包含user_level的部分。
但是如何将forum_section.user_level链接到forum_topics.user_level。
所以,如果我为forum_section.section_id = 1定义:forum_section.user_level = 4。
例如:
有人想访问forum_section id 1然后他们必须具有4的auth级别。 当他们转到主题时再次检查用户级别是否为4,但我不想手动设置主题级别,主题级别必须始终与部分级别相同。
我已经用Google搜索了,但我真的找不到一个好的manaul。我想这与“外键”有什么关系?
哎呀,让我先解释一下,以确定一下。 我有3张桌子表用户 用户名=韦斯利 userlevel<例如4(管理员)。
表部分 section_id = 3 section_name =新闻 section_level = 3
表主题 topic_id = 123 topic_name =我喜欢糖果 topic_level =需要与section_level相同,所以如果我更改section_level,它也会自动更改它。
提前致谢,
韦斯利。
答案 0 :(得分:0)
您需要使用SQL JOIN或NESTED SUB QUERY
最简单的实现是初始建立用户访问级别,然后基于此过滤后续查询 - 因此在PHP中,将访问级别传递给后续内容请求 - 如果查询返回任何内容,则用户可以查看内容,如果不是 - 他们可以被重定向。
答案 1 :(得分:0)
您必须使用主表和事务表来管理数据库。
您的表格格式应如下所示:
table name: user
user_id user_name
1 abc
2 xyz
3 pqr
4 new
table2 name : forum_section
forum_id user_id forum_name
1 4 abc
2 4 jkl
3 2 cbd
4 3 lmn
现在,您可以JOIN
这两个表并根据需要进行查询,如下所示:
SELECT forum_id FROM forum_section as fs,user as u WHERE fs.user_id = u.user_id AND fs.user_id = 4
这可能会对你有所帮助。如果您需要更多帮助,请写下来!