Bonjour,
Ceci est un exemple basique pour faire un maillage interne manuel de pages de news.
j'ai une table "news" avec 4 champs:
'id' int primary_key
'titre' text
'article' text
'rubrique' text
J'ai fait une table de correspondance que j'ai nommé "articles_similaires" où chaque news a
2 news similaires ou connexes, représentés par leurs id que j'ai nommé artsim1 et artsim2.
Par exemple, la news 1 (id= 1) a 2 articles similaires: la news 4 (id=4) et la news 6 (id=6);
la news 2 (id =2) a 2 articles similaires: la news3 (id=3) et la news 5 (id=5) etc.....
Comment faire ma requête Sql pour afficher les titres de ces news similaires après l'article?
Mon code m'affiche invariablement les titres des news dont les id sont 4 et 6 (la première ligne de la table articles_similaires.
Je bloque au niveau des jointures. Merci pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <ul> <li> <?php $sql='SELECT titre FROM news INNER JOIN articles_similaires WHERE news.id = articles_similaires.artsim1'; $req = mysql_query($sql) or die (mysql_error()); $data = mysql_fetch_array($req); ?> <a href="../articles/<?php echo $data['rubrique'];?>.php?id=<?php echo $data['id'];?>"> <h3><?php echo $data['titre'];?></h3> </a> </li> <li> <?php $sql='SELECT titre FROM news INNER JOIN articles_similaires WHERE news.id = articles_similaires.artsim2'; $req = mysql_query($sql) or die (mysql_error()); $data = mysql_fetch_array($req); ?> <a href="../articles/<?php echo $data['rubrique'];?>.php?id=<?php echo $data['id'];?>"> <h3><?php echo $data['titre'];?></h3> </a> </li> </ul>
Partager