PHP MySQL。将2个表列链接在一​​起

时间:2010-12-07 10:24:18

标签: php mysql hyperlink foreign-keys phpmyadmin

我有一个小问题,我试图建立自己的论坛,但我陷入困境。

我有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,它也会自动更改它。

提前致谢,

韦斯利。

2 个答案:

答案 0 :(得分:0)

您需要使用SQL JOINNESTED 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

这可能会对你有所帮助。如果您需要更多帮助,请写下来!