2011-05-18 110 views
0

用户表获取使用来自另一表中的数据的MySQL数据阵列

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

帖子表

  • (AUTHORID)
  • (POSTDATA)

连接表

  • (用户ID)
  • (friendID)

我想只能用该数据发布如果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"); 

回答

0

如果你只是想后的数据,那么这样做:

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

作为一个多余的注意,如果这是在所有可能的$用户ID是由用户提供的(通过HTML例如),在把它放入查询之前,至少应该通过mysql_real_escape_string()来运行它。否则,您将很容易受到SQL注入攻击。更好的办法是通过PDO或类似的东西使用预先准备好的声明。

0

我在原始文章中没有看到连接表,所以我将根据您提供的模式开展工作。

根据你写的东西在这里我认为你正在寻找的东西像“得到一些用户的朋友的所有帖子” - 这将是:

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

此功能将类似于墙功能在Facebook上。

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

+0

谢谢你的帮助! – Daniel 2011-05-18 03:07:47

相关问题