Je cherche à faire un tri un peu spécial en sql (MySQL), je pense que cela devrait être possible mais je ne sais pas comment le faire.
Voilà à quoi ressemble ma table menu:
id|order|parent_id|name
-----------------------
1 | 1 | 0 | root1
2 | 2 | 0 | root2
3 | 3 | 0 | root3
4 | 1 | 1 | sub_1_1
5 | 2 | 1 | sub_1_2
6 | 1 | 2 | sub_2_1
7 | 2 | 2 | sub_2_2
8 | 1 | 3 | sub_3_1
9 | 2 | 3 | sub_3_2
Cette table sert à manipuler un menu. En gros je désirer trier tous les résultats de façon à avoir mon arborescence.
parent_id indique si un élément est un enfant (!0) ou un parent (0). order donne l'ordre d'affichage du groupe d'éléments ayant un même parent.
Par rapport à l'exemple fourni plus haut je devrais récupérer les éléments dans cet ordre là:
+root1
-sub_1_1
-sub_1_2
+root2
-sub_2_1
-sub_2_2
+root3
-sub_3_1
-sub_3_2
Si qqun pouvait m'éclairer,
merci