2011-05-18 105 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

相關問題