On Sun, 31 Oct 2004 13:10, -{ Rene Brehmer }- wrote: > Hi gang > > This is possibly insanely simple, but I've been coding on it for the past > 11 hours, so my head's gone a little fuzzy. > > been through the MySQL manual, but it's not really agreeing with me on > finding anything useful... > > I've got a table of categories, organised in a tree structure: > > table wp_categories > catID int(10) UNSIGNED > parentID int(10) UNSIGNED > rootID int(10) UNSIGNED > level tinyint(3) UNSIGNED > cat_title varchar(255) > cat_desc text > > catID being the primary key, parentID the parent's ID, and rootID the ID > of the root category of the branch this category belongs to. Level is > simply a number as to how deep in the tree the given category is. I only > use it to make it simpler to build the graphics. > > Here comes the problem: I need to be able to build visually the branch > from root to a given folder, using only the given folder's ID as starting > point. That is, traversing backwards up the branch from any given folder, > and reattaching the branch till the root is reached. > > Building the entire tree from root down is easy enough, but for some > reason I've got a brainfart as to how I can go backwards. > > That said, I know I could probably do this using recursive SQL statements, > but I'd rather use as little talking with the DB as possible. The goal is > to do this one task with as few SQL calls as entirely possible, preferably > 1, 2 at most... since I found building arrays and traversing them is much > faster than SQL calls... > > the root ID is 0, so any category in root, will have parentID of 0, and > rootID of 0. > > I figure using the rootID to just pull the relevant branch might be part > of it, but my problem comes with reattaching the branch correctly, and > finding the root folder and stick the branch to it ... and doing all of > this in reverse since that's what I need for the visual part... > > Using MySQL btw ...
I don't know if you have seen http://www.sitepoint.com/print/hierarchical-data-database but it may provide some help. Cheers -- David Robley Don't use no double negatives. -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php