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

Posted by Greg Schnippel on 11/14/05 15:46

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) {
print "<li><a href=\"/object/$key/\">$value</a>\n";
outputReverseTree($key);
}
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?

Thanks,

- Greg

 

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

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