Bonjour a tous,

j'ai d�ja expos� mon probleme sur le forum php mais ils n'ont pu m'aid�.

Je dispose d'une fonction PHP qui qui a partir d'une base de donn�es cr�e une liste de cat�gories sous forme de liste de puces. Chaque ul et li sont cr�es en javascript et plac�s dans une div.

Lors de l'affichage de mes cat�gories principales, tout marche correctement, mais ma fonction est r�cursive (il y a des sous cat�gories) et la �a pose probleme.

En effet, mon affichage est de ce type:

categorie 1
categorie 2
categorie 3

sous-categorie 1 de la categorie 1
sous-categorie 2 de la categorie 1
sous-categorie 3 de la categorie 1

sous-categorie 1 de la categorie 2
sous-categorie 2 de la categorie 2

sous-categorie 1 de la categorie 3
sous-categorie 2 de la categorie 3
sous-categorie 3 de la categorie 3




au lieu de ceci:

categorie 1
sous-categorie 1 de la categorie 1
sous-categorie 2 de la categorie 1
sous-categorie 3 de la categorie 1

categorie 2
sous-categorie 1 de la categorie 2
sous-categorie 2 de la categorie 2

categorie 3
sous-categorie 1 de la categorie 3
sous-categorie 2 de la categorie 3
sous-categorie 3 de la categorie 3

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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
$categparent=$_GET["categparent"];	
affichercateg($categparent);
 
 
//Fonction d'affichage des catégories
function affichercateg($categparent) {
 
 
	//Debut de liste
	echo "<div id='$categparent' class ='verdana2' 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_<?php echo $categparent ?> = document.createElement("ul");
  	var ul_id = document.createAttribute("id");
  	ul_id.nodeValue = new_ul_id<?php echo $categparent ?>;
  	ul_<?php echo $categparent ?>.setAttributeNode(ul_id);
   </script>
   <?php
  
        
        if ($categparent==0) {
                ?>
   	<script>
   		var new_ul_style =  'list-style-image:url(./img_pack/secteur-24.gif);cursor:pointer;'; 
  			var ul_style = document.createAttribute("style");
   		ul_style.nodeValue = new_ul_style;
   		ul_<?php echo $categparent ?>.setAttributeNode(ul_style);
 		</script>
 		<?php   
                
        } else {        
                
                ?>
		<script type="text/javascript" language="javascript" charset="utf-8">  	 	  	
  			var new_ul_class =  'invisible'; 
  			var ul_class = document.createAttribute("class");
  			ul_class.nodeValue = new_ul_class;
   		ul_<?php echo $categparent ?>.setAttributeNode(ul_class); 	
  	 		var new_ul_style =  'class:invisible;list-style-image:url(./img_pack/rubrique-24.gif);cursor:pointer;'; 
  			var ul_style = document.createAttribute("style");
  	 		ul_style.nodeValue = new_ul_style;
   		ul_<?php echo $categparent ?>.setAttributeNode(ul_style);
 		</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_<?php echo $categparent ?>.appendChild(li<?php echo $id_rubrique ?>);	
  			</script>
			<?php
                        
                }
 
                /*
                //Requete affichant les articles de la catégorie categparent
                $quera = "SELECT id_article, titre, statut FROM spip_articles WHERE id_rubrique=$id_rubrique GROUP BY id_article ORDER BY id_article, titre";

                $resula = spip_query($quera);
                
                //Lecture de la requete
                while ($rowa = spip_fetch_array($resula)) {
                
                        $id_article=$rowa['id_article'];
                        $id_rub=$rowa['id_rubrique'];   
                        $titrea = typo($rowa['titre']);                         
                        ?>
			<script type="text/javascript" language="javascript" charset="utf-8"> 
  			var lia<?php echo $id_article ?> = document.createElement("li");
  			lia<?php echo $id_article ?>.setAttribute("id", "<?php echo $id_rub ?>_<?php echo $id_article ?>");
  			lia<?php echo $id_article ?>.appendChild(document.createTextNode("<?php echo $titrea ?>"));
  			ul_<?php echo $categparent ?>.appendChild(lia<?php echo $id_article ?>);	
  			</script>
			<?php
                }
                */
 
                affichercateg($id_rubrique);
        }
        ?>
	<script type="text/javascript" language="javascript" charset="utf-8">
	$('<?php echo $categparent ?>').appendChild(ul_<?php echo $categparent ?>);
	Sortable.create(new_ul_id<?php echo $categparent ?>, { onUpdate: function() {xhr=Sortable.serialize('<?php echo $categparent ?>');convertir(xhr, '<?php echo $categparent ?>'); } });
	</script>
 
 
<?php
}
?>
pouvez-vous m'aider?

merci d'avance