Bonjour à tous et d'avance merci aux âmes charitables qui voudront bien m'éclairer.
J'ai une table sql qui contient une généalogie typiquement ID / NOM / PARENT
Jusqu'à là, rien de sorcier.
Je souhaite mettre en forme avec des <UL> et des <LI> pour afficher mon arbre.
La fonction que j'ai pondue est presque bonne car j'affiche correctement en HTML simple mais quand je demande au plugin jstree de l'affiche il refuse.
Voila ce que me sort la fonction, l'affichage étant conforme aux infos de la base :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 <ul> 1001001 <li> 1001002 </li> <ul> <li> 1001003 </li> </ul> <ul> <li> 1001004 </li> </ul> <ul> <li> 1001006 </li> <ul> <li> 1001008 </li> </ul> </ul> <li> 1001005 </li> <ul> <li> 1001007 </li> </ul> </ul>
Auriez vous une idée de l'endroit d'où vient l'erreur et comment y remédier ?
D'avance merci,
Franck
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 function display_tree ($id_distributeur, $niveau=0, $niveau_precedent = 0) { if ($niveau==0) $html = "\n<ul>\n"; $requete2 = " SELECT * FROM distributeurs WHERE id ='$id_distributeur'"; $resultat_requete2 = mysql_query( $requete2 ) or die( mysql_error() ) ; $distr_en_cours = mysql_fetch_array($resultat_requete2); $id_distr_en_cours = $distr_en_cours[id]; if ($niveau==0) $html = $html."\n".$id_distr_en_cours."\n"; $requete = " SELECT * FROM distributeurs WHERE id_parrain ='$id_distributeur'"; $resultat_requete = mysql_query( $requete ) or die( mysql_error() ) ; while ($filleul_en_cours = mysql_fetch_array($resultat_requete)) { $id_filleul_en_cours = $filleul_en_cours[id]; if ($niveau_precedent < $niveau) $html .= "\n<ul>\n"; $html = $html."\n<li>\n".$id_filleul_en_cours."\n</li>\n"; $html = $html.display_tree($id_filleul_en_cours, ($niveau+1), $niveau); if ($niveau_precedent < $niveau) $html .= "\n</ul>\n"; }; if ($niveau==0) return $html."\n</ul>\n"; else return $html; }
Partager