Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wygenerowanie mocno rozbudowanego menu
Forum PHP.pl > Forum > PHP
Danielcom
Witam jak w temacie muszę stworzyć bazę danych i skrypt który będzie wyświetlał menu z pięcioma podkategoriami. W założeniu dobrze by było gdyby użytkownik mógł dodawać kategorie i podkategorie, ale to bardzo skomplikuje skrypt, co trochę mnie martwi. Menu musi być w formie rozwijanego drzewa.
Wiem, że nie ma jakiegoś sensowniejszego i gotowego rozwiązania. W związku z powyższym proszę o pomoc. Niekoniecznie proszę o gotowca, ale o jakiś pomysł na sam kod php, bo robienie tego rekurencyjnie jest niezbyt wydajne moim zdaniem.


Myślałem o takim rozwiązaniu bazy danych
  1. CREATE TABLE IF NOT EXISTS `video_categories` (
  2. `id_categories_video` int(11) NOT NULL AUTO_INCREMENT,
  3. `sub_1` int(11) NOT NULL,
  4. `sub_2` int(10) NOT NULL,
  5. `sub_3` int(10) NOT NULL,
  6. `sub_4` int(10) NOT NULL,
  7. `sub_5` int(10) NOT NULL,
  8. `parent` SET('0','1') COLLATE utf8_unicode_ci NOT NULL,
  9. `cat_name` text CHARACTER SET latin1 NOT NULL,
  10. `order` int(11) NOT NULL,
  11. `visible` SET('1','0') CHARACTER SET latin2 NOT NULL,
  12. PRIMARY KEY (`id_categories_video`)
  13. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1


Poniżej zamieszczam strukturę menu

Crozin
Ale to przecież najzwyklejsze drzewko, które można oprzeć o jeden z fęfnastu algorytmów, Google: "tree structures PHP"
Cytat
bo robienie tego iteracyjnie jest niezbyt wydajne moim zdaniem.
Miałeś chyba na myśli rekurencyjnie?
Danielcom
Tak faktycznie miałem na myśli rekurencję, już poprawiłem.

No właśnie, tych algorytmów jest naprawdę sporo, ale jakoś nie widzę prostego rozwiązania.
Może trochę źle zadałem pytanie na początku, chodzi mi o podsunięcie pomysłu w stylu "ja tego używałem i mi się podobało"


Pozostaje jeszcze jedna kwestia o której zapomniałem napisać, najlepiej by było gdybym nie używał żadnych gotowych skryptów, ponieważ strona będzie włączona do większego programu unijnego i nie mogę sobie pozwolić na to, żeby ktoś za jakiś czas zażądał od nas pieniędzy.
Crozin
Większość algorytmów do budowy drzew mieści się w kilku linijkach. Każdy ma jakieś wady i zalety - wybierz ten, który Tobie będzie najbardziej odpowiadać.
comparison of tree structures
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.