<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Commentaires sur : Construire un menu arborescent avec une fonction récursive en PHP</title>
	<atom:link href="http://www.coinduwebmaster.com/menu-arborescent-fonction-recursive-php/89/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.coinduwebmaster.com/menu-arborescent-fonction-recursive-php/89/</link>
	<description></description>
	<lastBuildDate>Thu, 29 Jul 2010 09:47:39 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>Par : luluberlu</title>
		<link>http://www.coinduwebmaster.com/menu-arborescent-fonction-recursive-php/89/#comment-255</link>
		<dc:creator>luluberlu</dc:creator>
		<pubDate>Wed, 16 Jun 2010 09:04:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.coinduwebmaster.com/?p=89#comment-255</guid>
		<description>En faite j&#039;ai rien dit, le code mal formaté ma perturbé :$</description>
		<content:encoded><![CDATA[<p>En faite j&#8217;ai rien dit, le code mal formaté ma perturbé :$</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : luluberlu</title>
		<link>http://www.coinduwebmaster.com/menu-arborescent-fonction-recursive-php/89/#comment-254</link>
		<dc:creator>luluberlu</dc:creator>
		<pubDate>Tue, 15 Jun 2010 15:19:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.coinduwebmaster.com/?p=89#comment-254</guid>
		<description>ça prend toujours pas, je remplace les  par $.

*ul$
*li$Mon Titre
*ul$ 
*li$Sous Titre1
*ul$ 
*li$Sous Titre2*/li$ 
*/ul$ 
*/li$ 
*/ul$ 
*/li$ 
*li$Mon Titre2*/li$ 
*li$Mon titre3*/li$ 
*/ul$</description>
		<content:encoded><![CDATA[<p>ça prend toujours pas, je remplace les  par $.</p>
<p>*ul$<br />
*li$Mon Titre<br />
*ul$<br />
*li$Sous Titre1<br />
*ul$<br />
*li$Sous Titre2*/li$<br />
*/ul$<br />
*/li$<br />
*/ul$<br />
*/li$<br />
*li$Mon Titre2*/li$<br />
*li$Mon titre3*/li$<br />
*/ul$</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : luluberlu</title>
		<link>http://www.coinduwebmaster.com/menu-arborescent-fonction-recursive-php/89/#comment-253</link>
		<dc:creator>luluberlu</dc:creator>
		<pubDate>Tue, 15 Jun 2010 15:17:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.coinduwebmaster.com/?p=89#comment-253</guid>
		<description>Oups désoler j&#039;ai mis le mauvais code :

 
Mon Titre
 
Sous Titre1
 
Sous Titre2 
 
 
 
 
Mon Titre2 
Mon titre3 
 

ps: les * sont pour éviter la mise en forme HTML dans le commentaire.</description>
		<content:encoded><![CDATA[<p>Oups désoler j&#8217;ai mis le mauvais code :</p>
<p>Mon Titre</p>
<p>Sous Titre1</p>
<p>Sous Titre2 </p>
<p>Mon Titre2<br />
Mon titre3 </p>
<p>ps: les * sont pour éviter la mise en forme HTML dans le commentaire.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : luluberlu</title>
		<link>http://www.coinduwebmaster.com/menu-arborescent-fonction-recursive-php/89/#comment-252</link>
		<dc:creator>luluberlu</dc:creator>
		<pubDate>Tue, 15 Jun 2010 15:15:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.coinduwebmaster.com/?p=89#comment-252</guid>
		<description>J&#039;ai un problème, pourtant je fait un copié collé du texte en haut.

Je donne un tableau comme cela :
###################
Array
(
    [0] =&gt; Array
        (
            [parent_id] =&gt; 0
            [categorie_id] =&gt; 9
            [nom_categorie] =&gt; Mon Titre
        )

    [1] =&gt; Array
        (
            [parent_id] =&gt; 0
            [categorie_id] =&gt; 10
            [nom_categorie] =&gt; Mon Titre2
        )

    [2] =&gt; Array
        (
            [parent_id] =&gt; 0
            [categorie_id] =&gt; 11
            [nom_categorie] =&gt; Mon titre3
        )

    [3] =&gt; Array
        (
            [parent_id] =&gt; 9
            [categorie_id] =&gt; 12
            [nom_categorie] =&gt; Sous Titre1
        )

    [4] =&gt; Array
        (
            [parent_id] =&gt; 12
            [categorie_id] =&gt; 13
            [nom_categorie] =&gt; Sous Titre2
        )

)
###################
Et j&#039;obtiens :
###################
 
Mon Titre
 
Sous Titre1
 
Sous Titre2 
 
 
 
 
Mon Titre2 
Mon titre3 
 
###################</description>
		<content:encoded><![CDATA[<p>J&#8217;ai un problème, pourtant je fait un copié collé du texte en haut.</p>
<p>Je donne un tableau comme cela :<br />
###################<br />
Array<br />
(<br />
    [0] =&gt; Array<br />
        (<br />
            [parent_id] =&gt; 0<br />
            [categorie_id] =&gt; 9<br />
            [nom_categorie] =&gt; Mon Titre<br />
        )</p>
<p>    [1] =&gt; Array<br />
        (<br />
            [parent_id] =&gt; 0<br />
            [categorie_id] =&gt; 10<br />
            [nom_categorie] =&gt; Mon Titre2<br />
        )</p>
<p>    [2] =&gt; Array<br />
        (<br />
            [parent_id] =&gt; 0<br />
            [categorie_id] =&gt; 11<br />
            [nom_categorie] =&gt; Mon titre3<br />
        )</p>
<p>    [3] =&gt; Array<br />
        (<br />
            [parent_id] =&gt; 9<br />
            [categorie_id] =&gt; 12<br />
            [nom_categorie] =&gt; Sous Titre1<br />
        )</p>
<p>    [4] =&gt; Array<br />
        (<br />
            [parent_id] =&gt; 12<br />
            [categorie_id] =&gt; 13<br />
            [nom_categorie] =&gt; Sous Titre2<br />
        )</p>
<p>)<br />
###################<br />
Et j&#8217;obtiens :<br />
###################</p>
<p>Mon Titre</p>
<p>Sous Titre1</p>
<p>Sous Titre2 </p>
<p>Mon Titre2<br />
Mon titre3 </p>
<p>###################</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : sam</title>
		<link>http://www.coinduwebmaster.com/menu-arborescent-fonction-recursive-php/89/#comment-230</link>
		<dc:creator>sam</dc:creator>
		<pubDate>Tue, 11 May 2010 19:59:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.coinduwebmaster.com/?p=89#comment-230</guid>
		<description>salut a tous, je vous remercie pour cette trés belle démonstration, c est exactement ce que j voulais faire cependant j ai essayé d&#039;appliquer la fonction javascript showmenu a fin de cacher et dafficher le sous menu en cliquand sur son menu parent mais ça marche pas, qlq peut m aider. je lui serai reconnaissant : voici le code :


function showmenu(menu) {
if (menu.style.display == &#039;none&#039;) menu.style.display = &#039;block&#039;;
else menu.style.display = &#039;none&#039;;
}


&lt;a href=&quot;index.php&quot; rel=&quot;nofollow&quot;&gt;&lt;/a&gt;
				$row[&#039;branche_id&#039;],
				&#039;parent_id&#039;=&gt;$row[&#039;parent_id&#039;],
				&#039;nom_br&#039;=&gt;$row[&#039;libelle_branche&#039;]);
				}
				
				function afficher_menu($parent, $niveau, $array) {
                    $html = &quot;&quot;;
                    $niveau_precedent = 0;
					// si le $niveau et $niveau_precedent sont vides on commence avec la balise 
                        if (!$niveau &amp;&amp; !$niveau_precedent) $html .= &quot;\n\n&quot;;
                            foreach ($array AS $noeud) {
	                              if ($parent == $noeud[&#039;parent_id&#039;]) {
								  $id=$noeud[&#039;branche_id&#039;];
								  $nom=$noeud[&#039;nom_br&#039;];
								
								  //si le $niveau vient d’augmenter, on commencer avec une nouvelle balise ul qui sera un sous-menu.
								  if ($niveau_precedent &lt; $niveau) $html .= &quot;\n\n&quot;;
								$id=$noeud[&#039;branche_id&#039;];
								
										  $html .= &quot;&lt;a href=&quot;#?branche=&quot; rel=&quot;nofollow&quot;&gt;&quot; . $noeud[&#039;nom_br&#039;] .&quot;--&gt;&quot;.$noeud[&#039;branche_id&#039;].&quot;&lt;/a&gt;&quot;;
										
	                                      $niveau_precedent = $niveau;
	                                      $html .= afficher_menu($noeud[&#039;branche_id&#039;], ($niveau + 1), $array);
                                                                    }
                                 	                       }
                       if (($niveau_precedent == $niveau) &amp;&amp; ($niveau_precedent != 0)) $html .= &quot;\n\n&quot;;
                              else if ($niveau_precedent == $niveau) $html .= &quot;\n&quot;;
                                    else $html .= &quot;\n&quot;;
                                   return $html;
                                                                    } // Fin de la fonction afficher_menu()
				echo afficher_menu(0, 0, $branche); 
				
				 /*$bool = 1;
                   if(!$bool) {
                      echo &quot;Variable maVariable vaut 0&quot;;
                              }
                        else{
                               echo &quot;Variable maVariable vaut $bool&quot;;
                            }*/
				?&gt;</description>
		<content:encoded><![CDATA[<p>salut a tous, je vous remercie pour cette trés belle démonstration, c est exactement ce que j voulais faire cependant j ai essayé d&#8217;appliquer la fonction javascript showmenu a fin de cacher et dafficher le sous menu en cliquand sur son menu parent mais ça marche pas, qlq peut m aider. je lui serai reconnaissant : voici le code :</p>
<p>function showmenu(menu) {<br />
if (menu.style.display == &#8216;none&#8217;) menu.style.display = &#8216;block&#8217;;<br />
else menu.style.display = &#8216;none&#8217;;<br />
}</p>
<p><a href="index.php" rel="nofollow"></a><br />
				$row['branche_id'],<br />
				&#8216;parent_id&#8217;=&gt;$row['parent_id'],<br />
				&#8216;nom_br&#8217;=&gt;$row['libelle_branche']);<br />
				}</p>
<p>				function afficher_menu($parent, $niveau, $array) {<br />
                    $html = &laquo;&nbsp;&nbsp;&raquo;;<br />
                    $niveau_precedent = 0;<br />
					// si le $niveau et $niveau_precedent sont vides on commence avec la balise<br />
                        if (!$niveau &amp;&amp; !$niveau_precedent) $html .= &laquo;&nbsp;\n\n&nbsp;&raquo;;<br />
                            foreach ($array AS $noeud) {<br />
	                              if ($parent == $noeud['parent_id']) {<br />
								  $id=$noeud['branche_id'];<br />
								  $nom=$noeud['nom_br'];</p>
<p>								  //si le $niveau vient d’augmenter, on commencer avec une nouvelle balise ul qui sera un sous-menu.<br />
								  if ($niveau_precedent &lt; $niveau) $html .= &quot;\n\n&nbsp;&raquo;;<br />
								$id=$noeud['branche_id'];</p>
<p>										  $html .= &laquo;&nbsp;<a href="#?branche=" rel="nofollow">&nbsp;&raquo; . $noeud['nom_br'] .&nbsp;&raquo;&#8211;&gt;&nbsp;&raquo;.$noeud['branche_id'].&nbsp;&raquo;</a>&laquo;&nbsp;;</p>
<p>	                                      $niveau_precedent = $niveau;<br />
	                                      $html .= afficher_menu($noeud['branche_id'], ($niveau + 1), $array);<br />
                                                                    }<br />
                                 	                       }<br />
                       if (($niveau_precedent == $niveau) &amp;&amp; ($niveau_precedent != 0)) $html .= &laquo;&nbsp;\n\n&nbsp;&raquo;;<br />
                              else if ($niveau_precedent == $niveau) $html .= &laquo;&nbsp;\n&nbsp;&raquo;;<br />
                                    else $html .= &laquo;&nbsp;\n&nbsp;&raquo;;<br />
                                   return $html;<br />
                                                                    } // Fin de la fonction afficher_menu()<br />
				echo afficher_menu(0, 0, $branche); </p>
<p>				 /*$bool = 1;<br />
                   if(!$bool) {<br />
                      echo &laquo;&nbsp;Variable maVariable vaut 0&#8243;;<br />
                              }<br />
                        else{<br />
                               echo &laquo;&nbsp;Variable maVariable vaut $bool&nbsp;&raquo;;<br />
                            }*/<br />
				?&gt;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Richard Perez</title>
		<link>http://www.coinduwebmaster.com/menu-arborescent-fonction-recursive-php/89/#comment-220</link>
		<dc:creator>Richard Perez</dc:creator>
		<pubDate>Fri, 30 Apr 2010 11:41:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.coinduwebmaster.com/?p=89#comment-220</guid>
		<description>Peux tu nous un donner un lien vers ta technique?</description>
		<content:encoded><![CDATA[<p>Peux tu nous un donner un lien vers ta technique?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : laurentj</title>
		<link>http://www.coinduwebmaster.com/menu-arborescent-fonction-recursive-php/89/#comment-185</link>
		<dc:creator>laurentj</dc:creator>
		<pubDate>Mon, 01 Feb 2010 14:02:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.coinduwebmaster.com/?p=89#comment-185</guid>
		<description>bon exemple pour la recursivité. Mais je ne recommande pas de l&#039;utiliser tel quel, car il parcours le tableau avec une complexité en O(n2), en d&#039;autres termes, il parcourt le tableau pour chaque élément du tableau. Pour afficher de telles données en arborescence, on a vu mieux au niveau performance (il y a des solutions avec lesquelles on ne parcourt que deux fois le tableau)...</description>
		<content:encoded><![CDATA[<p>bon exemple pour la recursivité. Mais je ne recommande pas de l&#8217;utiliser tel quel, car il parcours le tableau avec une complexité en O(n2), en d&#8217;autres termes, il parcourt le tableau pour chaque élément du tableau. Pour afficher de telles données en arborescence, on a vu mieux au niveau performance (il y a des solutions avec lesquelles on ne parcourt que deux fois le tableau)&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : fenoril</title>
		<link>http://www.coinduwebmaster.com/menu-arborescent-fonction-recursive-php/89/#comment-180</link>
		<dc:creator>fenoril</dc:creator>
		<pubDate>Mon, 11 Jan 2010 16:11:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.coinduwebmaster.com/?p=89#comment-180</guid>
		<description>Youpi !

Merci pour m&#039;avoir fait découvrir la récursivité, enfin un exemple clair, ça change !</description>
		<content:encoded><![CDATA[<p>Youpi !</p>
<p>Merci pour m&#8217;avoir fait découvrir la récursivité, enfin un exemple clair, ça change !</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Abdessamad</title>
		<link>http://www.coinduwebmaster.com/menu-arborescent-fonction-recursive-php/89/#comment-129</link>
		<dc:creator>Abdessamad</dc:creator>
		<pubDate>Wed, 12 Aug 2009 14:26:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.coinduwebmaster.com/?p=89#comment-129</guid>
		<description>Bonjour,

Merci pour cette source de Code, elle est vraiment impeccable.

cependant, j&#039;ai un soucis à l&#039;adapter pour être afficher dans un menu déroulant.

J&#039;utilise la librairie &quot;YUI Library&quot; de Yahoo!. Pour voir un aperçu du menu voilà le lien :
http://developer.yahoo.com/yui/examples/menu/topnavfrommarkupwithanim_source.html



J&#039;espère avoir bien expliquer mon Pb.

Merci d&#039;avance.</description>
		<content:encoded><![CDATA[<p>Bonjour,</p>
<p>Merci pour cette source de Code, elle est vraiment impeccable.</p>
<p>cependant, j&#8217;ai un soucis à l&#8217;adapter pour être afficher dans un menu déroulant.</p>
<p>J&#8217;utilise la librairie &laquo;&nbsp;YUI Library&nbsp;&raquo; de Yahoo!. Pour voir un aperçu du menu voilà le lien :<br />
<a href="http://developer.yahoo.com/yui/examples/menu/topnavfrommarkupwithanim_source.html" rel="nofollow">http://developer.yahoo.com/yui/examples/menu/topnavfrommarkupwithanim_source.html</a></p>
<p>J&#8217;espère avoir bien expliquer mon Pb.</p>
<p>Merci d&#8217;avance.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : phpdudimache</title>
		<link>http://www.coinduwebmaster.com/menu-arborescent-fonction-recursive-php/89/#comment-115</link>
		<dc:creator>phpdudimache</dc:creator>
		<pubDate>Thu, 16 Jul 2009 12:32:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.coinduwebmaster.com/?p=89#comment-115</guid>
		<description>Si je veux retourner un tableau imbriqué avec  afficher_menu($parent, $niveau, $array), comment je m&#039;y prends ? Il faut passer le tableau en paramètre dans la fonction récursive, utiliser un tableau temporaire ? Je cale ! Si vous pouvez m&#039;éclairer, je dois avoir un problème de logique. Merci</description>
		<content:encoded><![CDATA[<p>Si je veux retourner un tableau imbriqué avec  afficher_menu($parent, $niveau, $array), comment je m&#8217;y prends ? Il faut passer le tableau en paramètre dans la fonction récursive, utiliser un tableau temporaire ? Je cale ! Si vous pouvez m&#8217;éclairer, je dois avoir un problème de logique. Merci</p>
]]></content:encoded>
	</item>
</channel>
</rss>
