Requête sur une arborescence

cousinlol Messages postés 59 Date d'inscription mercredi 21 juin 2006 Statut Membre Dernière intervention 26 octobre 2015 - 4 avril 2007 à 11:59
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 - 4 avril 2007 à 23:10
Bonjour,


J'ai une table composée comme suit :

<!-- BEGIN TEMPLATE: bbcode_code -->

Code :

id_user
user_nom
user_prenom
user_chef

<!-- END TEMPLATE: bbcode_code -->

user_chef contient l'id_user du chef.


Exemple : A est le chef de B et C donc user_chef de B et C contient la valeur A

C est le chef de C' et C" donc user_chef de C' et C" contient la valeur C


Ce système me permet de faire l'organisation hiérarchique de l'entreprise.


Je veux faire une requête qui me donnerait tous les descendant d'un id_user.


Donc dans mon exemple en partant de A, je trouve les descendant de niveau 1

B et C, mais aussi ceux de niveau 2 C' et C".


J'ai fait une requête comme ceci, sachant que je choisi le id_user de départ:

<!-- BEGIN TEMPLATE: bbcode_code -->

Code :

SELECT id_user, CONCAT(user_nom,'-',user_prenom)AS nom
FROM users
WHERE user_chef = '".$id_user."'
 

<!-- END TEMPLATE: bbcode_code -->

Cette requête fonctionne, mais je n'ai que les utilisateurs de 1er niveau.


est-il possible de faire une requête qui bouclerait sur les descendant du 1er niveau et ainsi de suite , jusqu'à ne plus rien trouver ?


Où dois-je le faire en mixant avec un script php par exemple qui ferrait un array_merge des différents résultats ?


Merci d'avance

1 réponse

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
4 avril 2007 à 23:10
Salut,

Si tu veux gérer la hierarchie, il faut utiliser les proc stock disponible a partir de la version 5 de mysql


Sinon une solution php comme ici:
http://www.clubic.com/forum/resolu-afficher-un-arbre-hierarchique-cliquable-t212211.html
0
Rejoignez-nous