completeamateur Posted October 25, 2008 Share Posted October 25, 2008 Hi guys, I want to code the breadcrumb for my website i.e. Home > Book > Chapter > Page My navigation is structured in a table aptly named 'navigation'. CREATE TABLE IF NOT EXISTS `navigation` ( `navID` smallint(5) unsigned NOT NULL auto_increment, `nav` text character set utf8 NOT NULL, `url` text character set utf8 NOT NULL, `parentID` smallint(5) unsigned default NULL, PRIMARY KEY (`navID`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; A contentID (linked to navID) is specified for the current page. Will I have to 'backwards search' the navigation table for the relevant chapter/book? All suggestions welcome... Quote Link to comment Share on other sites More sharing options...
corbin Posted October 25, 2008 Share Posted October 25, 2008 You will have to keep checking the parent Id until there isn't one. Quote Link to comment Share on other sites More sharing options...
completeamateur Posted October 25, 2008 Author Share Posted October 25, 2008 Bugger. Thanks for the response. Quote Link to comment Share on other sites More sharing options...
corbin Posted October 25, 2008 Share Posted October 25, 2008 No problem. Someone might have some genius way to do it, but that's about all I can think of.... Quote Link to comment Share on other sites More sharing options...
Daniel0 Posted October 26, 2008 Share Posted October 26, 2008 The "genious" way you could use is called the "modified preorder tree traversal" algorithm (or "nested set" if you'd like a shorter name). Using this algorithm you'll be able to fetch the entire tree in a single query. http://dev.mysql.com/tech-resources/articles/hierarchical-data.html Quote Link to comment Share on other sites More sharing options...
corbin Posted October 26, 2008 Share Posted October 26, 2008 Oooo nice link. I figured there had to be some better way. Quote Link to comment Share on other sites More sharing options...
completeamateur Posted October 27, 2008 Author Share Posted October 27, 2008 Thanks daniel, that's the stuff dreams are made of! I'll get my head down. Thanks again. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.