2015-11-03 43 views
0

我正在用PHP創建一個關注系統,用戶可以關注/取消關注其他用戶。至此,當用戶跟隨​​其他用戶,都存儲在MYSQL數據庫「跟隨」表的用戶ID,如何檢查用戶是否跟隨用戶列表中的其他用戶?

u_id | f_id 
=========== 
1 | 2 
1 | 3 
1 | 5 

u_id如下f_id

現在,當u_id 1執行搜索在網站上,所有匹配的搜索查詢的用戶呈現,每一個都具有按鈕,這樣u_id 1可以跟隨他們,但也有可能是已經後跟u_id 1.如何實現這樣這些用戶已經按照一些用戶通過u_id 1沒有那個按鈕?

一種方法是在呈現搜索結果之前檢查每個結果,如果他們後面跟着u_id 1,但我想這會很慢。

有沒有什麼辦法讓我可以在一個MySQL查詢做到這一點?

+0

'從[用戶]選擇U_ID其中U_ID不是(從後續選擇的f_id其中U_ID = ' –

回答

0
當U_ID = 1進行網站上的搜索

,所有匹配的搜索查詢的用戶都

看起來你有一些類型的查詢返回user_id,並建議用戶f_id跟隨。讓假設是一個表suggestion

SELECT s.f_id, 
     CASE 
      WHEN f.id IS NULL THEN 'ON' 
      ELSE 'OFF' 
     END as ButtonStatus 
FROM [suggestion] s 
LEFT JOIN [follow] f 
     ON s.user_id = f.u_id 
     AND s.f_id = f.f_id 
WHERE 
    s.user_id = @user_id // Variable from your UI. 
相關問題