![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 0 Dołączył: 25.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Mam taką zagwozdkę, która z metod wyświetlania danych (wg hierarchii) jest lepsza. Najprostsza to definiowanie elementu nadrzędnego (ParentID). Ale spotkałem się też z drzewkiem/zagnieżdżeniem (left/right tree). Czy jedynym plusem przemawiającym za skorzystaniem z metody nr 2 jest to, że mogę wyświetlić więcej niż jeden poziom podrzędnych rekordów dla danego poziomu poprzez tylko jedno zapytanie? Bo w pierwszym przypadku, jeśli chciałbym wyświetlić do 3 poziomów, to muszę oczywiście wykonać dwa zapytania. I tak na marginesie - może ktoś podrzuci jakiś ciekawym tutkiem na temat drugiej metody. Google'owałem trochę, ale tak od A do Z przykładu nie znalazłem. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 782 Pomógł: 153 Dołączył: 21.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Tutaj - dział Graphs and Hierarchies -> Trees... etc.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 0 Dołączył: 25.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wielkie.
A czy różnica między tymi rozwiązaniami to ta jedyna, którą wymieniłem powyżej? Czy coś jeszcze przemawia za "drzewkiem"? Mam takie pytanie. Mam pobraną tablicę (id, name, parent_id). Jak teraz mogę sprytnie (bez wykonywania kolejnych zapytań) wyświetlić zagnieżdżone pozycje, tj.: --- kategoria 1 ------ kategoria 2 ---------- kategoria 3 ------ kategoria 4 ---------- kategoria 5 ---------- kategoria 6 Mógłby mi ktoś pomóc? Raczkuję dopiero (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze, żadna z metod nie jest lepsza - może co najwyżej w pewnych przypadkach być lepsza.
Po drugie, pytasz o najbardziej podstawowe zagadnienia, które były już poruszane i są dostępne w Google'u. Po trzecie, pamiętaj, że zawsze możesz łączyć metody by móc korzystać z jeden w jeden sytuacji i drugiej w innej sytuacji. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 0 Dołączył: 25.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
W sumie racja :-)
Przeszukalem trochę i mam jeszcze jedno pytanie. Poprawcie mnie, jeśli się mylę - idea drzewka sprawdza się tylko wtedy, gdy mamy jeden element ROOT? |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Niekoniecznie. Większość (jak nie wszystkie) z popularnych algorytmów na przechowywanie struktur drzewiastych obsługują wiele korzeni - "rootów".
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 15:30 |