Menu bez rekurencji

0

Witam,
Zainspirowany artykułem Zaawansowane drzewa w MySQL zabrałem się za tworzenie menu "ćwiczeniowo". Z artykułu wynika, że aby uzyskać efekt nie potrzeba stosować rekurencji "Potrzebna nam będzie jeszcze jedna tabela, dzięki której w prosty sposób, bez zbędnej rekurencji, będziemy mogli odczytać listę kategorii macierzystych lub potomnych" . Jednak moja wiedza jest chyba zbyt mała bo walczę z tym już kilka godzin i nie potrafię zrobić menu bez funkcji rekurencyjnej, tzn dane się wyświetlają poprawnie, ale jak dodać znaczniki <ul> <li> żeby uzyskać listę? Proszę o pomoc

1

Ja to kiedyś robiłem używając czegoś co się nazywało wtedy IP. Po prostu była to dodatkowa kolumna w tabeli z kategoriami. Która zawierała strukturę drzewa. Poniżej przykład IP/nazwa

  1. Hardware
    1.1 CPU
    1.1.1 AMD
    1.1.2 Intel
    1.2. GPU
    1.2.1 Nvidia
    1.2.2 Radeon/amd

Jeśli chciałem pobrać wszystkie kategorie to był zwykły select. Jak konkretne to robiłem zapytanie gdzieś szukany ciąg zaczynał się od np 1.2.1 (a to jaki to poziom kategorii wyznaczają nazwa). Potem używając takiego systemu można było łatwo usuwać kategorie, przy przenoszeniu już było trochę gorzej, bo trzeba było aktualizować numerki.

Czy to rozwiązanie jest dobre? Nie wiem, wiem tylko że je stosowałam około 7 lat temu i wtedy dawało radę.

0

Metoda opisana w artykule jest bardzo dobra tylko męczy mnie to, że wg autora nie potrzeba rekurencji, a ja jakoś nie widze innej możliwości żeby dodać w odpowiednim miejscu znaczniki tworzące listę zagnieżdżoną

0

można zrobić menu bez rekurencji tylko trzeba pamiętać, że tyle ile zrobi się pętli (zagnieżdżonych) to taka będzie maksymalna "głębokość" menu. Czyli jak zrobisz jedną pętlę, to będziesz miał płaskie menu. Jeśli dwie, to menu z podkategoriami itp.

To o czym pisze @axelbest kojarzy mi się z tym, że dla każdego elementu w bazie trzeba zrobić oddzielne zapytanie do bazy co zbyt optymalne nie jest :) poza tym co stoi na potrzebie by zrobić to rekurencyjnie? Jest to duuużo prostsze, szybsze i czytelniejsze. No i masz w 4 literach to ile chcesz mieć zagnieżdżeń.

1 użytkowników online, w tym zalogowanych: 0, gości: 1