You are here: Re: [PHP] Help with Reverse Tree Traversal using Recursion .. « PHP « IT news, forums, messages
Re: [PHP] Help with Reverse Tree Traversal using Recursion ..

Posted by "Richard Lynch" on 11/14/05 20:27

On Mon, November 14, 2005 7:46 am, Greg Schnippel wrote:
> I have a large data tree that I wanted to display in an outline
> format. I used a textbook tree recursion function to go through the
> data and display it as nested unordered lists:
>
> function outputTree($id) {
>
> if (checkChildObjectExists($id)) {
> print "<ul>";
> $child = getChildArray($id);
> foreach ($child as $key => $value) {
> print "<li><a
> href=\"/object/$key/\">$value</a></li>";
> outputTree($key);
> }
> print "</ul>";
> }
> }
>
> This works as expected:
>
>> Level 1 (Top)
> > Level 2
> > Level 3 (Bottom)
>
> However, I also want to display a reverse tree to allow users to trace
> their way back up the tree after landing on a lower branch. I tried to
> be clever and reverse the function above as:
>
> function outputReverseTree($id) {
>
> if (checkParentExists($id)) {
> print "<ul>";
> $parent = getParentArray($id);
> foreach ($parent as $key => $value) {

Just swap the order of these two lines:
> print "<li><a href=\"/object/$key/\">$value</a>\n";
> outputReverseTree($key);

So that you walk up to the ROOT of the tree *before* you start
printing stuff out.

> }
> print "</ul>";
> }
> }
>
> Which works, but there is something wrong with my logic as the tree
> comes back reversed:
>
>> Level 3 (Bottom)
> > Level 2
> > Level 1 (Top)
>
> Any suggestions on how to do this?


--
Like Music?
http://l-i-e.com/artists.htm

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация