Bonjour à tous.
Je gère une structure en arbre assez simplifiée. J'ai créé une table dont la structure est la suivante :
-id : identifiant de l'enregistrement
-nom
-id_parent : identifiant du parent s'il y en a un (sinon, 0)
J'ai créé une fonction récursive qui me donne tous les enfants d'un point précis de mon arbre. Voici le code :
J'ai l'exemple d'un point qui a 198 enfants. Le souci est que le traitement est d'une à deux minutes pour afficher mon résultat....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 function liste_enfants($valeur){ GLOBAL $maliste; //initialisée dans mon code avant l'appel de cette fonction $maliste.=$valeur.","; $res=query("SELECT id FROM ma_table WHERE id_parent=".$valeur); while($row=fetch($res)){ liste_enfants($row["id"]); } }
Est-ce que ma fonction (pourtant simple) est mal construite ?
Comment arriver à mon résultat avec moins de temps de traitement ?
Cordialement, Johweb.
Partager