0

用户表

  • (用户身份)
  • (用户名)
  • (密码)
  • (电子邮件)等...

帖子表

  • (作者 ID)
  • (发布数据)

连接表

  • (用户身份)
  • (朋友ID)

如果subscriptions.userID 是user.userID,我只想获取使用subscription.friendID 作为posts.authorID 的文章数据。

有点困惑,希望有人能帮帮我。这是我到目前为止所拥有的,但我也正在获取订阅数据。我只想要发布表格数据。

 mysql_query("SELECT posts.*, connections.userID, connections.subID FROM posts, connections
        WHERE posts.userID = '$userid' AND posts.userID = connections.subID");
4

2 回答 2

0

如果您只想要发布数据,请执行以下操作:

mysql_query("SELECT posts.* FROM posts, connections
        WHERE posts.userID = '$userid' AND posts.userID = connections.subID");

作为多余的说明,如果 $userid 有可能由用户提供(例如通过 HTML 表单),请确保在将其放入查询之前至少通过 mysql_real_escape_string() 运行它。否则,您将容易受到 SQL 注入攻击。更好的是通过 PDO 或类似的方式使用准备好的语句。

于 2011-05-18T01:27:37.153 回答
0

我在您的原始帖子中没有看到连接表,因此我将根据您提供的架构进行工作。

根据您在此处写的内容,我认为您正在寻找类似“从某些用户的朋友那里获取所有帖子”之类的内容 - 这将是:

     SELECT p.authorID, p.postdata
       FROM posts p
 INNER JOIN subscriptions s ON s.friendID = p.authorID    
      WHERE s.userID = '$userid'

此功能类似于 Facebook 上的墙功能。

如果您需要更多用户信息,例如用户名,您也可以加入用户表。

于 2011-05-18T01:28:01.203 回答