Yes, I know what a tree data structure is - how to "walk the tree" I'm not sure what you mean. But I've come up with something quite cool. but still not working.
I select all the data from the catagories table [id | pid | category] and drop it into the array ===== $menu = array(); while ($row = mysql_fetch_array($result)) { $id = $row['cat_id']; $category = $row['category']; $pid = $row['pid']; $menu[$pid][$id] = $category; } foreach($menu as $key1 => $value1) { echo "Key: $key1; Value: $value1<br>\n"; foreach ($value1 as $key2 => $value2) { echo "Key: $key2; Value: $value2<br>\n"; // delete array that has been printed unset($menu[$key1][$key2]); } } ===== and out comes: Key: 0; Value: Array Key: 1; Value: Automotive Key: 4; Value: Technology Key: 1; Value: Array Key: 2; Value: Repair Shops Key: 3; Value: Glass Replacement etc.. So now what i need is the ability to go thru all of the menu array with index of $menu[0][*] one at a time and then print out all $menu indicies where [*] matches $menu[THIS][] the unset removes a category once it's been printed Any ideas? I don't want to recursively hit the database a bunch of times. Thanks, olinux --- DL Neil <[EMAIL PROTECTED]> wrote: > > ----- Original Message ----- > From: "olinux" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: 29 October 2001 08:16 > Subject: [PHP-DB] category structure > > > > anyone have any ideas on this > > > > I have a table of directory categories > > id | parentid | category > > > > so... > > 1 | 0 | blah1 top > > 2 | 1 | blah2 sub > > 3 | 1 | blah3 sub2 > > 4 | 3 | blah4 sub2->sub > > > > I want to hit the DB only once so i select all and > > drop into array > > > > Now i've created array with these like so: > > $category[$parentid][$id] > > > > But now what? > > > > trouble is that > > $msub[2][4] is a sub category of $msub[1][2] > > so i can't just run thru and print the array - > need to > > manipulate a little. > > > > Any ideas? [or even a beeter way to do this?] > > Olinux, > > What you are asking is a fairly common requirement, > with well-known solutions. > In what format do you require the output printed? > Do you know what a "tree" data structure is, and how > to 'walk the tree'? > > =dn > __________________________________________________ Do You Yahoo!? Make a great connection at Yahoo! Personals. http://personals.yahoo.com -- PHP Database 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]