toenailsin
11-15-2009, 05:30 AM
i'm trying to think of a way to have a whole tree of groupings and have a query to grab the entire path to the root group
eg, if i query group id 3, it will grab 1, 2 & 3.
CREATE TABLE IF NOT EXISTS `groups` (
`id` int(10) unsigned NOT NULL auto_increment,
`parentId` int(10) unsigned NOT NULL DEFAULT '0',
`name` varchar(32) NOT NULL,
PRIMARY KEY (`id`),
KEY `parentId` (`parentId`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `groups` (`id`, `parentId`, `name`) VALUES
(1, 0, 'root group'),
(2, 1, 'sub group'),
(3, 2, 'sub group 2'),
(4, 0, 'test'),
(5, 4, 'blah');
eg, if i query group id 3, it will grab 1, 2 & 3.
CREATE TABLE IF NOT EXISTS `groups` (
`id` int(10) unsigned NOT NULL auto_increment,
`parentId` int(10) unsigned NOT NULL DEFAULT '0',
`name` varchar(32) NOT NULL,
PRIMARY KEY (`id`),
KEY `parentId` (`parentId`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `groups` (`id`, `parentId`, `name`) VALUES
(1, 0, 'root group'),
(2, 1, 'sub group'),
(3, 2, 'sub group 2'),
(4, 0, 'test'),
(5, 4, 'blah');