I'm trying to get a handle on this algorithm as well. If you add additional children to a parent record, doesn't that require renumbering all the rgt and lft values in the lineage? For example (table shamelessly stolen from a website):
Personnel emp lft rgt ====================== 'Albert' 1 12 'Bert' 2 3 'Chuck' 4 11 'Donna' 5 6 'Eddie' 7 8 'Fred' 9 10 If I want to add 'Joe' as a subordinate to 'Fred', doesn't that mean I have to change the lft values for Fred, Chuck, and Albert? Yes, deleting definitely seems easier. I'm curious about adding... Mark --- "Chris W. Parker" <[EMAIL PROTECTED]> wrote: > David Otton <mailto:[EMAIL PROTECTED]> > on Thursday, August 14, 2003 4:58 PM said: > > > The advantage of doing it this way is that your tree structure is > > generic and can have many levels. The disadvantage is that you > may > > need many SQL queries to fully traverse the tree (though people > > rarely want to do this, and sub-selects, clever joins or > post-query > > processing can reduce the overhead). > > Which is why you should use the Modified Preorder Tree Traversal > method > instead. With that method you've got one table that defines the > categories AND their relationships to each other. > > Your SQL queries end up looking something like this. > > SELECT name > FROM categories > WHERE lft >= x > AND rgt <= y > > > > Chris. > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > ===== Mark Weinstock [EMAIL PROTECTED] *************************************** You can't demand something as a "right" unless you are willing to fight to death to defend everyone else's right to the same thing. *************************************** __________________________________ Do you Yahoo!? Yahoo! SiteBuilder - Free, easy-to-use web site design software http://sitebuilder.yahoo.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php