Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL + system szablonów - generowanie drzewa nawigacji], Jak uniknąć rekurencji
astropanic
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 4.07.2006

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


Witam wszystkich,
Piszę aplikację w której do nawigacji chciałem skorzystać z dowolnej ilości kategorii i subkategorii. Czyli struktua drzewiasta implementowana za pomocą tabel MySQL - pykuś. Owszem, jeśli się to zrobi w prostacki sposób zakładając tabelę trzykolumnąwą Id, categoryName i parentId. Wtedy żeby wyświetlić drzewo trzeba wykonywać wiele zapytań do bazy co jest szalenie nieefektywne. Znalazłem implementację drzewa w tabelach bazy w inny sposób, lepszy pod względem wydajności, wystarczy bowiem jedno zapytanie. (Tutaj) Tylko teraz mam pytanie, jak przesuwać elementy w drzewie ? Zrozumiale dla mnie jest że należy zmieniać wartości kolumn Left i Right, ale za cieńki jestem z MySQL żeby sensowne zapytanie w tym celu ułożyć.

Bardzo proszę o pomoc, siedziałem nad tym przez święta, ale za nic na świecie mie nie wychodzi.

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Denver
post
Post #2





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 24.09.2003
Skąd: Giżycko / Wrocław

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


Z dodawaniem nowych, usuwaniem i przesuwaniem elementów w takiej strukturze trzeba się trochę pobawić. Najlepiej rozrysuj sobie drzewko przed i po modyfikacji i zobacz, jakie powstają zmiany. Wtedy łatwiej będzie Ci zaprojektować funkcje odpowiedzialne za modyfikowanie struktury Twojego drzewa.

Polecam polski artykuł opisujący to samo zagadnienie autorstwa Tomka Jędrzejewskiego.
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: 15.10.2025 - 22:17