2009-12-11 80 views
2

我想開發一個網站,用戶可以成爲彼此的朋友,並可以看到他們的帖子後成爲朋友的日期........我已經發布了這個問題約5 -7天但找不到任何解決方案........ !! 所以... 我有兩個表.......... 職位和朋友 和我的查詢是幫我在這個查詢

$sql = mysql_query(" 
SELECT * 
FROM posts p 
JOIN friends f 
ON p.currentuserid = f.friendid 
AND p.time >= f.friend_since 
OR s.currentuserid=$myid 
WHERE f.myid=$thisid 
ORDER BY p.postid DESC LIMIT 20"); 

其中$身份識別碼是currentuserid和p.currentuserid是單元的名稱在poss表中和friendid在朋友表中。

該查詢是正確的所有的工作方式,但問題是,在這個查詢,如果當前用戶張貼任何東西它顯示兩次,即

my new post 
mynew post 

但在數據庫中它是單一的入口.....! !但目前的用戶可以看到他們的朋友職位單時間

我怎樣才能解決這個問題

回答

2

此查詢正在一路正確的,但問題是,在此查詢,如果當前用戶張貼任何東西它顯示兩次

用途:

SELECT DISTINCT * 
    FROM posts p 
    JOIN friends f ON p.currentuserid = f.friendid 
       AND p.time >= f.friend_since 
       OR s.currentuserid=$myid 
WHERE f.myid=$thisid 
ORDER BY p.postid DESC 
    LIMIT 20 

我爲了刪除重複添加的DISTINCT關鍵字。通常我會使用GROUP BY來代替,但是您沒有提供這些列。

+0

它在鉻工作正常,但在ff和即它仍然顯示重複 – 2009-12-11 18:37:44

+3

這是一個瀏覽器緩存問題,與SQL查詢無關。 – 2009-12-11 19:09:28