Bonjour,
J'ai une table composée comme suit :
Code :
id_user
user_nom
user_prenom
user_chef
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:
Code :
SELECT id_user, CONCAT(user_nom,'-',user_prenom)AS nom
FROM users
WHERE user_chef = '".$id_user."'
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