Arvydas,

I did something like this using a "tree" structure, using stacks.  Each item
on the stack could have 1 to 3 properties: Name, Parent, URL.  If the object
on the stack has only a Name property (i.e. Parent and URL are empty) it is
assumed that this item is a root node.  If the item has a Name and a Parent,
is is a child node to the parent, and if it has a Name, Parent and URL, then
it is a leaf node to the parent.

For example:
FolderA
FolderB
--FolderB(1)
--FolderB(2)
  --ItemB(2)(1)

I push onto my stack directory items that have the following properties:

AddDirItem(FolderA)
AddDirItem(FolderB)
AddDirItem(FolderB(1), FolderB)
AddDirItem(FolderB(2), FolderB)
AddDirItem(ItemB(2)(1), FolderB(2), http://itemb21.whatever)

Then, you loop through all of the items, setting the root items as the top
of the tree, and continue nesting subitems until you get to a new root item.

If you want, I can send you the PHP objects I used to implement this in a
dynamic tree.  It works quite well, and is extensible to 'n', where 'n' is
the number of items allowed due to system/browser constraints.

Cheers,
Jason

"Arvydas" <[EMAIL PROTECTED]> wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> Hello,
> i'm new in php but i have very difficult exercise.... i must make
hierarchical menu witch can be released for example so :
>
> First i will get main menu : for example menu1, menu2, menu3... and these
menu will have links (this must be released with <a href=""...) to others
submenu : sub1, sub2, sub3 (each menu can have more than one sub menu), and
these submenus will go deeper and deeper (depends from some parameters)
> so - the question is "How to make recursive menu ?"
> (menu mus be repaint after any click...)
>
> (I have an idea to make function that will "produce" recursive arrays...)
>
> P.S.sorry for poor english :)
> sincerely,
> Arvys.
>



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to