CREATE TABLE `menu` ( `id` int(11) NOT NULL AUTO_INCREMENT, `id_fk_menu` int(11) DEFAULT NULL, `id_fk_podmenu1` int(11) DEFAULT NULL, `id_fk_podmenu2` int(11) DEFAULT NULL, `nazwa` varchar(200) NOT NULL, PRIMARY KEY (`id`), KEY `id_fk_podmenu1` (`id_fk_podmenu1`), KEY `id_fk_podmenu2` (`id_fk_podmenu2`), KEY `id_fk_menu` (`id_fk_menu`) ) ENGINE=InnoDB DEFAULT CHARSET=latin2 AUTO_INCREMENT=436 ; ALTER TABLE `menu` ADD CONSTRAINT `menu_ibfk_1` FOREIGN KEY (`id_fk_menu`) REFERENCES `menu` (`id`), ADD CONSTRAINT `menu_ibfk_2` FOREIGN KEY (`id_fk_podmenu1`) REFERENCES `menu` (`id`), ADD CONSTRAINT `menu_ibfk_3` FOREIGN KEY (`id_fk_podmenu2`) REFERENCES `menu` (`id`);
Przykladowe wypelnienie tabeli danymi:
INSERT INTO `menu` VALUES (1, NULL, NULL, NULL, 'menu_gl1'); INSERT INTO `menu` VALUES (2, NULL, NULL, NULL, 'menu_gl2'); INSERT INTO `menu` VALUES (3, NULL, NULL, NULL, 'menu_gl3i'); INSERT INTO `menu` VALUES (4, NULL, NULL, NULL, 'menu_gl4'); INSERT INTO `menu` VALUES (5, NULL, NULL, NULL, 'menu_gl5'); INSERT INTO `menu` VALUES (6, NULL, NULL, NULL, 'menu_gl6'); INSERT INTO `menu` VALUES (7, 1, NULL, NULL, 'podmenu1'); INSERT INTO `menu` VALUES (8, 1, NULL, NULL, 'podmenu2'); INSERT INTO `menu` VALUES (9, 2, NULL, NULL, 'podmenu3'); INSERT INTO `menu` VALUES (10, 3, NULL, NULL, 'podmenu4'); INSERT INTO `menu` VALUES (11, NULL, 7, NULL, 'podpodmenu1'); INSERT INTO `menu` VALUES (12, NULL, 7, NULL, 'podpodmenu2'); INSERT INTO `menu` VALUES (13, NULL, 8, NULL, 'podpodmenu3'); INSERT INTO `menu` VALUES (14, NULL, 8, NULL, 'podpodmenu4'); INSERT INTO `menu` VALUES (15, NULL, 9, NULL, 'podpodmenu5'); INSERT INTO `menu` VALUES (16, NULL, NULL, 11, 'podpodpodmenu1'); INSERT INTO `menu` VALUES (17, NULL, NULL, 13, 'podpodpodmenu2'); INSERT INTO `menu` VALUES (18, NULL, NULL, 13, 'podpodpodmenu3'); INSERT INTO `menu` VALUES (19, NULL, NULL, 14, 'podpodpodmenu4'); INSERT INTO `menu` VALUES (20, NULL, NULL, 14, 'podpodpodmenu5');
Dane chcialabym wyswietlnic w takiej formie:
menu_gl1
podmenu1
podpodmenu1
podpodpodmenu1
podpodmenu2
podmenu2
podpodmenu3
podpodpodmenu2
podpodpodmenu3
podpodmenu4
podpodpodmenu4
podpodpodmenu5
menu_gl2
podmenu3
podpodmenu5
menu_gl3
podmenu4
menu_gl4
menu_gl5
Potrafie wyswietlac dane w taki sposob ale jezeli sa one w oddzielnych tabelach. A jak moge to zrobic trzymajac wszytskie w jednej tabeli??