【问题标题】:PHP MySQL. Linking 2 Tables columns togetherPHP MySQL。将 2 个表列链接在一​​起
【发布时间】:2011-05-21 12:11:42
【问题描述】:

我有一个小问题,我正在尝试创建自己的论坛,但我遇到了一些问题。

我有 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。

例如:

如果有人想访问 id 为 1 的 forum_section,那么他们的身份验证级别必须为 4。 当他们转到主题时,它会再次检查用户级别是否为 4,但我不想手动设置主题级别,主题级别必须始终与部分级别相同。

我已经用谷歌搜索过这个,但我真的找不到一本好的手册。我猜它与“外键”有关?

好的,让我再解释一下,以防万一。 我有 3 张桌子

表用户
用户名 = 卫斯理
用户级别

表格部分
section_id = 3
section_name = 新闻
section_level = 3

表格主题
topic_id = 123
topic_name = 我喜欢糖果
topic_level = 需要与 section_level 相同,所以如果我更改 section_level,它也会自动更改。

【问题讨论】:

    标签: php mysql hyperlink foreign-keys phpmyadmin


    【解决方案1】:

    您需要使用SQL JOINNESTED SUB QUERY

    最简单的实现是首先建立用户访问级别,然后基于此过滤后续查询 - 因此在您的 PHP 中,将访问级别传递给后续内容请求 - 如果查询返回任何内容,用户可以查看内容,如果不是 - 它们可以被重定向。

    【讨论】:

      【解决方案2】:

      您应该必须使用主表和事务表来管理您的数据库。

      您的表格格式应如下所示:

      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
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-08-13
        • 1970-01-01
        • 1970-01-01
        • 2011-07-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多