Bonjour à tous,
J'ai 2 tables dans ma base de donnée, l'une contenant des catégories et des sous-catégories et l'autre contenant les pages.
Je souhaite faire une requête pour afficher le menu du site qui comprend les catégories, les sous-catégorie, et les pages
Comme un dessin vaut mieux qu'un long discours voici ce que j'aimerais:
Sur l'image on peut voir les possibilités pour le menu :
-On affiche les catégories principales
-Une page sans catégorie doit être au niveau des catégories principales
-On affiche les pages appartenant à une catégorie principale
-On affiche les sous-catégories
-On n'affiche PAS les pages appartenant à une sous-catégorie
Voici mes tables dans ma base
Table Catégorie
Table Page
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 +----------+----------------+------------+-------------+ | cat_id | cat_nom | cat_titre | cat_parent | +----------+----------------+------------+-------------+ | 1 | categorie1 | blablalaal | 0 | | 3 | categorie3 | blablalaal | 0 | | 4 | categorie4 | blablalaal | 0 | | 5 | categorie5 | blablalaal | 0 | | 6 | sous-categorie6| blablalaal | 5 | | 7 | sous-categorie7| blablalaal | 5 | | 8 | categorie8 | blablalaal | 0 | | 9 | sous-categorie9| blablalaal | 8 | +----------+----------------+------------+-------------+
J'ai testé une cinquantaine de requêtes avec des LEFT JOIN et je n'arrive pas à faire ce que je souhaite.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 +----------+-------------+------------+-------------+ | page_id | page_nom | page_titre | page_cat_id | +----------+-------------+------------+-------------+ | 1 | page1 | blablalaal | 0 | | 2 | page2 | blablalaal | 3 | | 3 | page3 | blablalaal | 3 | | 4 | page4 | blablalaal | 5 | | 5 | page5 | blablalaal | 0 | | 6 | page6 | blablalaal | 8 | +----------+-------------+------------+-------------+
Je souhaite donc tout d'abord savoir si c'est réalisable et deuxièmement comment dois-je m'y prendre
Par avance merci de votre aide
Partager