26. april 2004 - 21:03Der er
7 kommentarer og 1 løsning
Dynamisk "træ" menu
Hejsa Er der nogen som har en færdig menu liggende (jeg tror at det hedder en træ menu). Den skal været baseret på en mysql db, det vil sige at man bare opretter poster i db'en og så udvidere menuen sig.
ok, printMenu er den funktion du skal lave om - jeg har lavet den, som blev brugt på min side til demo. Funktionen får to argumenter - et array med menuen og level som angiver hvor dybt vi er i træet (top = 0).. I princippet kan du lave det ligeså dybt som du ønsker..
Tabellen består af id (unik nøgle), et navn, parent_id (hvilken anden menu ligger denne under. Alle top-menupunkter ligger under 0. URL - det der skal tilføjes til url'en (se printMenu())
CREATE TABLE `treemenu` ( `id` int(11) NOT NULL auto_increment, `name` varchar(32) NOT NULL default '', `parent_id` int(11) NOT NULL default '0', `url` varchar(32) NOT NULL default '', PRIMARY KEY (`id`) ) ;
Lidt data; INSERT INTO `treemenu` VALUES (1, 'Main1', 0, 'Main1'); INSERT INTO `treemenu` VALUES (2, 'Main2', 0, 'Main2'); INSERT INTO `treemenu` VALUES (3, 'Main3', 0, 'Main3'); INSERT INTO `treemenu` VALUES (4, 'Sub1A', 1, 'Sub1A'); INSERT INTO `treemenu` VALUES (5, 'Sub1B', 1, 'Sub1B'); INSERT INTO `treemenu` VALUES (6, 'Sub2A', 2, 'Sub2A'); INSERT INTO `treemenu` VALUES (7, 'Sub2B', 2, 'Sub2B'); INSERT INTO `treemenu` VALUES (8, 'Sub3A', 3, 'Sub3A'); INSERT INTO `treemenu` VALUES (9, 'Sub3B', 3, 'Sub3B'); INSERT INTO `treemenu` VALUES (10, 'Sub1A1', 4, 'Sub1A1'); INSERT INTO `treemenu` VALUES (11, 'Sub1A2', 4, 'Sub1A2');
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.