Bonjour a tous,

j'ai un petit soucis de récursivité. J'ai une fonction qui crée en javascript des puces a partir d'une base de données.

Pour chaque puce, je souhaiterais réapeller ma fonction pour qu'elle affiche chaque sous-categorie de chaque puce et ainsi de suite.

Le probleme est que toutes mes puces se mettent a la suite sans indentation comme si elle dépendaient du meme ul. Pouvez--vous m'aider?

voici mon code:
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
  <?php
 
 
$categparent=$_GET["categparent"];	
affichercateg($categparent);
 
 
//Fonction d'affichage des catégories
function affichercateg($categparent) {
 
	//Debut de liste
	echo $categparent;
	if ($categparent==0) {
		echo "<div id='$categparent' style='background-color:#c0cad4;'></div>";
		?>
		<script type="text/javascript" language="javascript" charset="utf-8">
		// <![CDATA[
 		var new_ul_id<?php echo $categparent ?> =  '<?php echo $categparent ?>'; 
  		var ul = document.createElement("ul");
  		var ul_id = document.createAttribute("id");
  		ul_id.nodeValue = new_ul_id<?php echo $categparent ?>;
  		ul.setAttributeNode(ul_id);
 
 
 		</script>
 		<?php
 
 	} else {
 
 		echo "<div><div id='$categparent' style='background-color:#FFFFFF;'></div>";
		?>
		<script type="text/javascript" language="javascript" charset="utf-8">
		// <![CDATA[
 		var new_ul_id<?php echo $categparent ?> =  '<?php echo $categparent ?>'; 
  		var ul = document.createElement("ul");
  		var ul_id = document.createAttribute("id");
  		ul_id.nodeValue = new_ul_id<?php echo $categparent ?>;
  		ul.setAttributeNode(ul_id);
 
 		</script>
 		<?php
 	}
 
 	//Requete affichant les catégories de la catégorie categparent
	$quer = "SELECT id_rubrique, titre, id_parent FROM spip_rubriques WHERE id_parent=$categparent ORDER BY id_parent, id_rubrique,titre";
 
	$resul = spip_query($quer);
 
	//Lecture de la requete
	while ($row = spip_fetch_array($resul)) {
 
		$titre = typo($row['titre']);	//titre de la rubrique
		$id_rub=substr($titre,0,strpos($titre,"."));	//id titre de la rubrique
		$id_rubrique = $row['id_rubrique'];	//id de la rubrique
		$long=strlen($id_rubrique);
		$id_parent=$row['id_parent'];	//id de la rubrique parente en cours
 
 
		//Puce affichant le titre de la rubrique
		if ($id_parent==$categparent) {
 
			?>
			<script type="text/javascript" language="javascript" charset="utf-8"> 
  			var li<?php echo $id_rubrique ?> = document.createElement("li");
  			li<?php echo $id_rubrique ?>.setAttribute("id", "<?php echo $categparent ?>_<?php echo $id_rubrique ?>");
  			li<?php echo $id_rubrique ?>.appendChild(document.createTextNode("<?php echo $titre ?>"));
  			ul.appendChild(li<?php echo $id_rubrique ?>);
 
 
  			</script>
			<?php
 
		}	
		affichercateg($id_rubrique);
	}
	?>
	<script type="text/javascript" language="javascript" charset="utf-8">
	$('<?php echo $categparent ?>').appendChild(ul);
	Sortable.create(new_ul_id<?php echo $categparent ?>, { onUpdate: function() {xhr=Sortable.serialize('<?php echo $categparent ?>');convertir(xhr); } });
	</script>
 
 
<?php
}
?>
Merci d'avance