Bonjour !
Voila j'ai un problème avec une requête MySQL sur plusieurs tables
Mes tables :
merch_rubriques
id...nom.....classement
1....CD........3
2....TShirt....1
3....Sweat...2
merch_articles
id..id_rubrique...nom........image.........position
1...2..................Fantom.....fantom.jpg...2
2...1..................Lunatic.....cd.jpg.........1
3...2..................Monkey.....monkey.gif...1
4...1..................Promo.......promo.jpg....2
Je m'explique,
j'aimerais afficher plusieurs tables html, chacune correspondant à une rubrique.
Ces tables seraient classées par "classement ASC" et contiendraient les articles associés, classés par "position ASC".
Pour l'instant (je sais c'est très moche), je fais ça :
Pour l'instant il n'y a pas grand chose dans mes tables donc ça passe encore bien, mais plus tard j'y vois pas beau...
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
23
24
25
26
27
28
29
30 $query1 = mysql_query("SELECT * FROM merch_rubriques ORDER BY classement ASC;"); while ($row1 = mysql_fetch_array($query1)) { echo "<a href=\"merch.php?add=".$row1["id"]."\">Ajouter un Article</a>"; echo "<table>\n"; echo "<tr><th colspan=\"3\">Rubrique : ".$row1["nom"]."</th></tr>\n"; echo "<tr>\n"; echo "<th>Position</th>\n"; echo "<th>Image</th>\n"; echo "<th>Nom</th>\n"; echo "<th colspan=\"2\">Action</th>\n"; echo "</tr>\n"; $query2 = mysql_query("SELECT * FROM merch_articles WHERE id_rubrique = ".$row1["id"]." ORDER BY position ASC;"); while ($row = mysql_fetch_array($query2)) { echo "<tr>\n"; echo "<td>".$row["position"]."</td>\n"; echo "<td><img src=\"".$target.$row["image"]."\" alt=\"\" /></td>\n"; echo "<td>".$row["nom"]."</td>\n"; echo "<td><a href=\"?mod=".$row["id"]."\">modifier</a></td>\n"; echo "<td><a href=\"?supprimer=".$row["id"]."&img=".urlencode($row["image"])."\" onclick=\"return confirm('Voulez vous vraiment supprimer l\'article ?');\">supprimer</a></td>\n"; echo "</tr>\n"; } echo "</table>\n"; }
Alors j'ai bien essayé des requêtes du genre
Le problème est que ça ne sort qu'une table, dont les colonnes sont
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 $query = mysql_query("SELECT merch_articles.id, merch_articles.id_rubrique AS idRubArt, merch_articles.nom AS nomArt, merch_articles.image, merch_articles.position, merch_rubriques.id AS idRub, merch_rubriques.nom, merch_rubriques.classement FROM merch_articles, merch_rubriques WHERE merch_articles.id_rubrique = merch_rubriques.id ORDER BY classement ASC;");
nom de la rubrique
nom de l'article
etc...
En plus je ne peux que classer, soit les rubriques, soit les articles ; mais pas les deux en même temps.
Le schéma de ce qu'il me faudrait :
.........RUBRIQUE 1..........
IMAGE 1.....ARTICLE 1.....
IMAGE 2.....ARTICLE 2.....
.........RUBRIQUE 2..........
IMAGE 1.....ARTICLE 1.....
IMAGE 2.....ARTICLE 2.....
J'ai beau chercher dans la doc MySQL, sur les forums et dans les cours, je ne trouve rien se rapportant à mon problème.
Et c'est là que j'en viens (enfin) à vous...
Quelqu'un a-t-il déjà rencontré ce problème, qui saurait m'aiguiller ?
Partager