[英]PHP MySQL Query Question / Help - Joining tables
我需要幫助顯示登錄用戶的朋友和用戶本人的留言牆..:P
我在每個編碼論壇上搜索過,谷歌沒有找到我想要的答案:/
登錄用戶的會話是:
$_SESSION['userid']
這是我到目前為止的MySQL查詢:
SELECT DISTINCT * FROM status_updates JOIN friends ON status_updates.member_id = friends.friend_with LEFT JOIN members ON status_updates.member_id = members.member_id ORDER BY status_id DESC LIMIT 0,10
該查詢從朋友的右邊輸出狀態更新,但是當涉及到登錄用戶時,狀態更新將被復制,如下所示: http : //i30.tinypic.com/29bkqaw.png
status_updates中只有兩個條目,一個用於Test Bruker 4 ,一個用於Endre Hovde ..
順便說一句,我以Endre Hovde的身份登錄。
我會很感激我能提供的任何幫助,credz提供最佳答案;)
提前致謝! :)
// Endre Hovde @ rCon ^
那這個呢:
$query = "select su.*
from status_updates su
where
su.member_id in (
select " . $_SESSION['user_id'] . " as member_id
UNION
select fr.member_id
from friends fr
where exists (select 1 from friends
where member_id = fr.member_id
and friend_with = " . $_SESSION['user_id'] . ")
)
order by su.status_id desc limit 0,10";
我認為您將為用戶擁有的每個朋友獲得相同答案的重復副本。 您必須將請求分成幾個部分,或者使用唯一的ID(最好是注釋ID)將其與PHP分組。 使用數組並使用注釋ID作為該數組的鍵可以輕松實現。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.