bonjour

j'utilise prototype pour faire un menu hierarchqiue toggle:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
<script type="text/javascript">
      function initialize () {
        $$('h2.toggle').each(function(elt) {
          $(elt).observe('click', function(event){
            elt.next().toggle();
          });
        });
      }
      Event.observe(window, 'load', initialize);
    </script>
et je lis une table mysql hierarchique avec un idparent, actuellement je pre-formatte le nombre de sous menu possible par:

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
 
$pere = request("select idFamille,libFamille from catalogue where idparent =0");?>
	<div id="bloctoggle">
	<p id="libvoirpanier">Ajouter des articles</p>
	<form action="<?=$b?>.htm?script=adminMyCmde.php&search=&searchtype=&searchstring=&type=edit&action=modify&idtag=<?=$_SESSION['order_id'];?>" method="post">
		<input type="Submit" name="" class="bouton" value="Ajouter ces produits">
 
		<?foreach ($pere as $p)
		{?>
	    <h2 id="t1" class="toggle" ><?=$p[libFamille]?></h2>
	    <div id="c1" style="display:none">
	      <ul>
		  <?$fils = request("select * from catalogue where idparent =".$p[idFamille]);
						foreach ($fils as $f) {
						if ($f[estProd]!="1") 
						{?> <h2 id="t1" class="toggle" ><?=$f[libFamille]?></h2>
							 <div id="c1" style="display:none">
	      						<ul>
								<?$sfils = request("select * from catalogue where idparent =".$f[idFamille]);
								foreach ($sfils as $sf) {
									if ($sf[estProd]=="1")
									{?><li><div style="float:left;width:200px;"><span class="libprod"><?=$sf[libProduit]?></span>&nbsp;<span class="libprod"><?=$sf[unite]?></span>&nbsp;=&nbsp;</div><div style="float:right;width:100px;"><input type="Text" name="q_<?=$sf[idFamille]?>" value="" class="quantity"></div></li>
									<?}
								}?>
								</ul>
	    					</div>
						<?} else {?>					
	        				<li><div style="float:left;width:200px;"><span class="libprod"><?=$f[libProduit]?></span>&nbsp;<span class="libprod"><?=$f[unite]?></span>&nbsp;=&nbsp;</div><div style="float:right;width:100px;"><input type="Text" name="q_<?=$f[idFamille]?>" value="" class="quantity"></div></li>
	     <?}
		 }
		 //<?=$_POST['q_'.$f[idFamille]]??>
	      </ul>
	    </div>
		<?}?>
quelle est l'idée pour rendre recursif la generation des menus, sasn connaitre à l'avance le nombre de sous-menu ??

merci