Bonsoir, je suis sur un petit projet dans lequel j'ai besoins de faire des jointures entre 3 tables.
Le but est de faire en sorte que dans la page d'accueil, on puisse afficher les articles des utilisateurs, avec lesquels l'utilisateur actif est ami.
Dans ma base de donnée j'ai les tables suivantes : users, amis, et posts.
La table users contient les colonnes suivantes : id, username, nom, prenom, email ...
La table amis contient : id_requete, id_exp, id_dest, date_invitation, date_confirmation, date_vue, et active (de valeurs 1 s'ils sont amis, 0 si la demande est en attente).
Quant à la table post : id, msg, post_date, id_user.
J'ai essayé la requête suivant, mais elle ne fonctionne que quand c'est l'utilisateur actif a envoyé la demande d'amitié.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <?php include('db.php'); $act_user_id = $_SESSION['userid']; $sql_cat = "SELECT * FROM posts AS p, users AS u, amis AS a WHERE u.id = p.id_author AND a.id_exp = '$act_user_id' AND a.id_dest = u.id AND a.active = '1' ORDER BY post_date DESC LIMIT 0, 50"; $res_cat = mysql_query($sql_cat); // Traitement et affichage des données while ( $categorie = mysql_fetch_assoc($res_cat) ) { $affich_categorie = $categorie['msg']; ?>
Partager