Bonjour à toutes et tous,
Je m'arrache les cheveux depuis 3 jours afin d'afficher la liste de mes entités de manière ordonné et compréhensible. Je m'explique.
J'ai une table entité contruite de la sorte : idEntite, nomEntite, refEntite
ex:
1 Magasin 1
2 Leclerc 1-2
3 Auchan 1-3
4 Leclerc Bordeaux 1-2-4
5 Auchan Paris 1-3-5
6 Auchan Paris 5eme 1-3-5-6
La référence sert à identifier ou se situe l'entité dans l'arborescence et est constitué de l'id des entités parents ainsi que la sienne(une entité peux contenir une entité, qui elle même en contiendra 1 ou 2 ou 20, bref vous comprennez la logique).
Je souhaite récupérer ces résultats depuis ma base mariaDB et les afficher avec des puces ET SURTOUT par ordre alphabétique afin d'obtenir le résultat suivant :
Magasin
Auchan
Auchan Paris
Auchan Paris 5eme
Leclerc
Leclerc Bordeaux
Voila, ca parait tout bête comme ca, mais quand on commence réellement à mettre en pratique on se rend compte que c'est une vrai galère.
Il existe peut etre une manière de construire la requete SQL afin d'avoir déjà l'arborescence dans le bon ordre mais mes connaissances sql sont limités. Lorsqu'on trie par ref, l'arborescence est dans le bon ordre mais pas les noms, et lorsque l'on trie par nom c'est l'inverse, bref je sèche.
Merci par avance à celles et ceux qui déciderons de m'aider à résoudre ce problème.
Cédric
Bonjour JRcode,
Je viens de voir que cela n'a pas pris en compte le formattage que j'ai donné au texte, normal que tu ne comprennes pas :).
En fait dans le résultat, il faut imaginer une incrémentation de puce à chaque fois qu'une entité est une fille de la précédente. Mais surtout, toutes les entités sont classés dans l'ordre alphabétique. En fait c'est ca le plus complexe, réussir à garder l'arborescence tout en classant les entités puis sous-entité, etc dans l'ordre alphabétique.
Pour la colonne ref, effetivement c'est un peu plus compliqué que de mettre l'id du parent comme le montre grafikart dans son cours sur sql (j'ai regardé la vidéo sur la requete récursive hier) mais je trouve ca beaucoup plus simple pour afficher ensuite les entités enfants d'une entité.
Par exemple pour afficher toutes les entités enfants de Auchan (ref 1-3), tu fais une requete toute simple avec un like '1-3%' sur la ref et c'est fini.
Je trouve ca plus simple que de faire une requete récursive pour trouver le premier enfant, puis le second...
Bon après je fonctionne comme ca parce que effectivement je suis un novice en SQL :D
Hello,
Pour ce qui est de l'ordre alphabtique, Est-ce que tu a essayé "ORDER BY nomEntite" ?
Pour les puces, ça doit être possibe de le faire en SQL, mais je pense que tu peux le faire beaucoup plus facilement dans le code.