Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Dynamiczne menu - problem z zapytaniem.
AniaR
post
Post #1





Grupa: Zarejestrowani
Postów: 92
Pomógł: 0
Dołączył: 6.05.2009
Skąd: warszawa

Ostrzeżenie: (0%)
-----


Tworze cztero - poziomowe dynamiczne menu i mam taka strukture tabeli w ktorej trzymam te menu:

  1. CREATE TABLE `menu` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `id_fk_menu` int(11) DEFAULT NULL,
  4. `id_fk_podmenu1` int(11) DEFAULT NULL,
  5. `id_fk_podmenu2` int(11) DEFAULT NULL,
  6. `nazwa` varchar(200) NOT NULL,
  7. PRIMARY KEY (`id`),
  8. KEY `id_fk_podmenu1` (`id_fk_podmenu1`),
  9. KEY `id_fk_podmenu2` (`id_fk_podmenu2`),
  10. KEY `id_fk_menu` (`id_fk_menu`)
  11. ) ENGINE=InnoDB DEFAULT CHARSET=latin2 AUTO_INCREMENT=436 ;
  12.  
  13. ALTER TABLE `menu`
  14. ADD CONSTRAINT `menu_ibfk_1` FOREIGN KEY (`id_fk_menu`) REFERENCES `menu` (`id`),
  15. ADD CONSTRAINT `menu_ibfk_2` FOREIGN KEY (`id_fk_podmenu1`) REFERENCES `menu` (`id`),
  16. ADD CONSTRAINT `menu_ibfk_3` FOREIGN KEY (`id_fk_podmenu2`) REFERENCES `menu` (`id`);


Przykladowe wypelnienie tabeli danymi:
  1. INSERT INTO `menu` VALUES (1, NULL, NULL, NULL, 'menu_gl1');
  2. INSERT INTO `menu` VALUES (2, NULL, NULL, NULL, 'menu_gl2');
  3. INSERT INTO `menu` VALUES (3, NULL, NULL, NULL, 'menu_gl3i');
  4. INSERT INTO `menu` VALUES (4, NULL, NULL, NULL, 'menu_gl4');
  5. INSERT INTO `menu` VALUES (5, NULL, NULL, NULL, 'menu_gl5');
  6. INSERT INTO `menu` VALUES (6, NULL, NULL, NULL, 'menu_gl6');
  7.  
  8. INSERT INTO `menu` VALUES (7, 1, NULL, NULL, 'podmenu1');
  9. INSERT INTO `menu` VALUES (8, 1, NULL, NULL, 'podmenu2');
  10. INSERT INTO `menu` VALUES (9, 2, NULL, NULL, 'podmenu3');
  11. INSERT INTO `menu` VALUES (10, 3, NULL, NULL, 'podmenu4');
  12.  
  13. INSERT INTO `menu` VALUES (11, NULL, 7, NULL, 'podpodmenu1');
  14. INSERT INTO `menu` VALUES (12, NULL, 7, NULL, 'podpodmenu2');
  15. INSERT INTO `menu` VALUES (13, NULL, 8, NULL, 'podpodmenu3');
  16. INSERT INTO `menu` VALUES (14, NULL, 8, NULL, 'podpodmenu4');
  17. INSERT INTO `menu` VALUES (15, NULL, 9, NULL, 'podpodmenu5');
  18.  
  19. INSERT INTO `menu` VALUES (16, NULL, NULL, 11, 'podpodpodmenu1');
  20. INSERT INTO `menu` VALUES (17, NULL, NULL, 13, 'podpodpodmenu2');
  21. INSERT INTO `menu` VALUES (18, NULL, NULL, 13, 'podpodpodmenu3');
  22. INSERT INTO `menu` VALUES (19, NULL, NULL, 14, 'podpodpodmenu4');
  23. 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??
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.09.2025 - 16:10