RE: Help with my first recursion menu
| From: | MEM | Date: | Wed, 28 Oct 2009 21:22:49 +0000 |
| Subject: | RE: Help with my first recursion menu | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-299482@lists.php.net to get a copy of this message | ||
> -----Original Message-----
> From: MEM [mailto:talofo@gmail.com]
> Sent: quarta-feira, 28 de Outubro de 2009 15:55
> To: 'php-general@lists.php.net'
> Subject: Help with my first recursion menu
>
> Hello all,
>
> Please have a look here:
> http://www.nuvemk.com/c_categoria/seccao/1
>
>
> When we click on "Fitofármacos", I can display the correspondent
> children! This is great! And I'm really happy!
> :)
>
> When we click on Fitofármacos children - "Herbicidas", I was expecting
> to have returned Herbicidas childs, without losing the Fitofármacos
> menu item.
>
> The reason I'm losing him, I suppose, it's due the fact that the URI is
> not properly generated by the function responsible to parse a menu.
>
> Notice that, on the link posted above:
> If you click on fitofármacos and then click on herbicidas, the expected
> URL should be:
> http://www.nuvemk.com/c_categoria/seccao/1/6/9/
>
> but I'm getting this instead:
> http://www.nuvemk.com/c_categoria/seccao/6/9/
>
> If we try to navigate deeply, and inside Herbicidas we click on
> "Herbicidas A", we are expecting an URL like so:
> http://www.nuvemk.com/c_categoria/seccao/1/6/9/27/
>
> But we are getting this instead:
> http://www.nuvemk.com/c_categoria/seccao/9/27/
>
>
> Here is the actual code:
> http://pastebin.com/m8ffe9db
>
> I've not yet completely understand the recursion, can I have your help
> in order to understand how can I recursively build the URI segments?
>
>
>
> Thanks a lot in advance,
> Márcio
I've been told that stack is the way to go, so I'm trying to understand the
following code:
http://pastebin.com/m5616c88f
I've commented every line so that any of you could see if I'm interpreting
something wrong:
I have two questions about this code, that hopefully someone on the list
could explain:
1)
Why do we need to remove the last array item? (on line 32):
array_pop($urlStack);
2)
Why we print the closed tag of the li element, after the recursive call? (on
line 29)
echo "</li>\n";
Thanks a lot in advance,
Márcio