No, i'm using a MySQL DB. "Justin Patrin" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > Matt Palermo wrote: > > > Hey everyone. I'm looking for assistance/suggestions/answers on how to > > build a select dropdown box from data that needs to be pulled recursively > > from a MySQL database. Basically the situation is mainly for a dicussion > > thread system type of thing where I have categories nested inside > > categories, nested inside categories... Anyway, I want to be able to build > > a drop down box containing all the categories indented underneath it's > > parent category to look something similar to this: > > > > ------------------------- > > Top Level Category > > - Nested Category > > - Lower level > > - Etc.... > > Top Level Category > > - Nested Category > > Top Level Category > > ------------------------- > > > > Then the user will be able to select one from the dropdown menu. I have all > > the categories stored in a MySQL database called site_categories. The table > > is setup like this: > > > > __________________________________ > > | Cat_ID | Cat_Parent | Cat_Name | > > |---------------------------------------------| > > | 1 | 0 | Top Level 1 | > > |---------------------------------------------| > > | 2 | 1 | Nested 1 | > > |---------------------------------------------| > > | 3 | 0 | Top Level 2 | > > |---------------------------------------------| > > | 4 | 2 | Nested 2 | > > |---------------------------------------------| > > > > Sorry for the bad pictures you hopefully you get the idea. Anything with a > > 0 Cat_Parent is a Top Level category. Then the others are all nested inside > > other categories that have the same Cat_ID as the nested categories > > Cat_Parent. I basically need help creating a properly indented dropdown > > menu box using this structure from the database. I assume I'm gonna have to > > use some sort of recursion here, but I'm not sure how to go about this. > > Please help if you can. > > > > Thanks, > > > > Matt > > http://sweetphp.com > > I'd suggest using a recursive function. (I'm assuming you're using PEAR > DB...) > > function getSelect(&$db, $catParent = 0, $indent = '') { > $sth = $db->query('SELECT * FROM categories WHERE Cat_Parent = > '.$catParent); > while($rec = $sth->fetchRow()) { > echo '<option > value="'.$rec['Cat_ID'].'">'.$indent.$rec['Cat_Name'].'</option>'; > getSelect($db, $rec['Cat_ID'], $indent.' '); > } > } > > $db = DB::connect('mysql://user:[EMAIL PROTECTED]/db'); > $db->setFetchMode(DB_FETCHMODE_ASSOC); > echo '<select name="selectBox">'; > getSelect($db); > echo '</select>'; > > I think that will work ;-) > > > -- > paperCrane <Justin Patrin>
-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php