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
angel2953
post
Post #2





Grupa: Zarejestrowani
Postów: 199
Pomógł: 5
Dołączył: 8.07.2004
Skąd: gdynia

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


Cytat(astropanic @ 27.12.2006, 00:28:35 ) *
[...] 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

Bazując na tym linku co podałeś to powinieneś zmieniać tylko wartość parent ponieważ category_id to unikalny (przynajmniej powinien być) identifikator danej kategorii, więc jak go zmienisz co Ci się całe drzewko rozwali. Elementy przesuwasz zmieniając wartość parent na id kategorii/podkategorii, do której chcesz przenieść dany element.


@astropanic: chyba nie do końca go zrozumiałem. Ale art jest ciekawy

Ten post edytował angel2953 27.12.2006, 15:51:02
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: 8.10.2025 - 18:51