cousinlol
Messages postés59Date d'inscriptionmercredi 21 juin 2006StatutMembreDernière intervention26 octobre 2015
-
4 avril 2007 à 11:59
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 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 ?