2013-06-29 15 views
-1

我想顯示我的朋友和我在我的主頁上發佈的最新'N'貼子。數據庫中有2個表格與此相關。顯示朋友和我的最後'N'貼子

其中之一是「朋友」(我的朋友的成員列表可以從這張表中獲得)。另一個是「更新」(所有狀態更新都存儲在此表中)。

兩個表格的共同字段是「memberID」(分配給該網站每個成員的唯一編號)。

那麼如何從這兩張表中獲得並打印出所需的信息呢?

我希望我的問題很清楚。如果我需要進一步澄清,請告訴我。順便說一句,我正在開發使用PHP(僅程序編程;沒有OOP)的網站,並且我正在使用MySQL數據庫。另外,我希望運行腳本所需的處理時間和功耗盡可能低,因爲我將要共享主機。

+2

笏你有沒有試過? –

+0

請在此處發佈您的代碼的相關部分,並解釋什麼不起作用,您是如何嘗試解決問題的。 – elclanrs

+0

我沒有。我的第一個想法是使用2個不同的查詢 - 一個用於獲取好友列表,另一個用於使用while循環獲取更新。 但後來我意識到這並沒有太大的幫助。所以我沒有繼續。 – gdebojyoti

回答

1

你想是這樣的:

SELECT * FROM updates INNER JOIN(friends) ON(updates.memberID = friends.memberID AND friends.userID = X) ORDER BY updates.date DESC LIMIT 0,N; 

哪裏friends.memberID是朋友的MEMBERID,friend.userID是誰向誰friend.memberID是朋友和X是登錄用戶的MEMBERID人的MEMBERID。

P.S.當我閱讀「僅限程序編程」時,我顫抖了一下。你是比我更勇敢的靈魂。

+0

謝謝。 P.S.你爲什麼這麼說? – gdebojyoti

+0

對象通常使事情更容易管理。 –

+0

不幸的是,我不太滿意OOP。試圖更熟悉Java,但迄今爲止還沒有太成功。 上面提到的問題與我希望儘快完成的大學項目有關。我將嘗試在我的下一個項目中實施OOP。 – gdebojyoti

1

用戶ID = YOU

這樣:

mysql_query(" 

select * from updates where memberID in (select friend_id from friends where memberID = 'YOU') order by date desc limit 0,N; 

"); 

這個結果會給你想要的東西。

+0

謝謝你的回覆。 – gdebojyoti

+0

不客氣! –