2010-07-25 7 views
0

Je dois aider à afficher les commentaires sur le mur des amis de l'utilisateur connecté, et l'utilisateur lui-même ofc ..: P
J'ai cherché sur tous les forums de codage, et Google, n'a pas trouvé la réponse que je cherchais:/PHP MySQL Query Question/Aide - Joindre des tableaux

la session pour l'utilisateur connecté sont:

$_SESSION['userid'] 

C'est la requête MySQL J'ai jusqu'à présent:

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 

La requête envoie la mise à jour du statut des amis à droite, mais quand il vient à l'utilisateur connecté, l'état de mise à jour se reproduit, voici à quoi il ressemble: http://i30.tinypic.com/29bkqaw.png

Il n'y a que deux entrées status_updates, un pour test Bruker 4 et un pour Endre Hovde ..

Je suis connecté comme Endre Hovde par la voie.


Je serai reconnaissant pour toute l'aide que je peux obtenir, credz pour la meilleure réponse;)
Merci à l'avance! :)

// Endre Hovde @Rcon^

Répondre

1

Qu'en est-ce:

$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"; 
+0

Drop the "s" dans friends_with, et il fonctionne parfaitement! : D merci beaucoup;) Credz à vous! – NoobiCake

+0

Cool .. content de pouvoir aider. J'aime SQL. – Fosco

0

Je pense que vous obtiendrez un double pour la même réponse pour chaque ami un utilisateur. Vous devez diviser votre requête en plusieurs parties, ou vous utilisez un identifiant unique (de préférence l'identifiant de commentaire) pour les regrouper avec PHP. Cela peut être réalisé facilement en utilisant un tableau et en utilisant l'ID du commentaire comme clé pour ce tableau.