2010-09-07 5 views
2

Je construis un fil d'actualité de type facebook et j'ai besoin d'aide. Nous aimerions commencer par des commentaires dans le fil d'actualité.Flux de nouvelles aide pour le flux d'activité

Nous souhaiterions afficher tous les commentaires de tous ceux que l'utilisateur actuel suit sur ce site. Il y a une table suiveurs avec l'id suiveur et l'id suivi. Voici une requête de base de la table disciples pour sélectionner tout le monde l'utilisateur actuel suit:

SELECT follower_id, followee_id 
FROM followers 
WHERE follower_id = $current_id 

Il y a une table d'utilisateurs qui contient le user_id et le nom de l'utilisateur. Il doit être sélectionné pour chaque commentaire afin d'afficher le nom des commentateurs.

Il y a aussi un tableau de commentaires. Voici une requête de base pour tous les commentaires et utilisateurs de sélectionner leur nom:

SELECT *, CONCAT(users.first_name,' ',users.last_name) AS name, 
FROM comments, users 
WHERE comments.user_id = users.id 
ORDER BY comments.date DESC 

Le problème est que nous devons avoir une liste de tous les commentaires les plus récents de personne que vous suivez. Quelqu'un peut-il aider?

Répondre

1

Il semble que vous ayez juste besoin de combiner les deux requêtes que vous avez données. Quelque chose comme:

SELECT *, CONCAT(users.first_name,' ',users.last_name) AS name, 
FROM comments, users 
WHERE comments.user_id = users.id 
AND comments.user_id IN 
    (SELECT followee_id 
    FROM followers 
    WHERE follower_id = $current_id) 
ORDER BY comments.date DESC 
+0

Je savais que c'était simple. Merci – George

Questions connexes