Bu sorguda bana yardım

1 Cevap php

i am trying to develop a site where users can become friends of each other and can see their posts after the date the became friends........i have already posted this question about 5-7 days but could not find any solution........!! so... i have two tables.......... posts and friends and my query is

$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");

$ idim currentuserid ve p.currentuserid poss tablodaki hücre adıdır ve FriendId arkadaşlar tabloda olduğu.

Bu sorgu doğru tüm yolu çalışıyor ama bir sorun mevcut kullanıcı herhangi bir şey göndermeden bu sorguda iki kez yani görüntüler olduğunu

my new post
mynew post

ancak veritabanında bu tek giriş olduğunu .....! ancak mevcut kullanıcı tek bir süre için onların arkadaşları mesajları görebilirsiniz

nasıl ben bu sorunu çözebilir

1 Cevap

Bu sorgu doğru tüm yolu çalışıyor ama bir sorun mevcut kullanıcı herhangi bir şey göndermeden bu sorguda iki kez görüntüler olduğunu

Kullanın:

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

Ben çiftleri kaldırmak için DISTINCT anahtar kelime ekledi. Genellikle yerine GROUP BY kullanmak istiyorum, ama sütunları arz etmedi.