![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 15.01.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich
Przeczytałem pewien artykuł http://www.sitepoint.com/article/hierarchical-data-database Niestety nie opisuje jak poradzić sobie z typową sytuacją wielopoziomowego menu w serwisie. Mam dane w takim formacie: -message1 --message11 --message12 -message2 --message21 --message22 ---message221 ---message222 ----message2221 ----message2222 -----message22221 -----message22222 ----message2223 ---message223 -message3 --message31 ---message311 ---message312 ---message313 --message32 -message4 --message41 --message42 -message5 --message51 --message52 Chciałbym wyświetlić tylko to: -message1 -message2 --message21 --message22 ---message221 ---message222 ----message2221 ----message2222 -----message22221 -----message22222 ----message2223 ---message223 -message3 -message4 -message5 Dlatego, że wybrałem pozycję menu: -----message22221 Macie jakiś pomysł jak to osiągnąć korzystając ze struktury bazy danych opisanej w artykule? Z góry dziękuję. Pozdrawiam. Mariusz |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 341 Pomógł: 40 Dołączył: 23.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
stary temat, ale w sumie wart by dac odpowiedz (IMG:style_emoticons/default/wink.gif)
o ile dobrze rozumiem - chodzi by wybrac jendna galaz z drzewa? PARENT_ID - zmienna zawierajaca id, od ktorego pobieramy galaz masz tutaj takze zliczanie elementow w galezi drzewa.
z doswiadczenia wiem, ze najlepej to opakowac do procedury.. w swoim czasie napisalem chyba wszystkie funkcje (w sql (IMG:style_emoticons/default/wink.gif) ) dla obslugi drzewka (wstawiania, kasowanie, przenoszenie elementow i galezi, pobranie sciezki etc.) fajna zabawa, w zasadzie do dzis z tego korzystam, btw to chyba najwydajniejszy sposob na drzewko, przynajmniej jesli mamy dynamiczna ilosc zaglebien. j. edit: oczywiscie to zapytanie daje nam drzewko w upozadkowanej strukturze. jesli bysmy mieli tylko wybrac wszystkie elementy z danej galezi - no to wystarczy beetwen lft and rgt Ten post edytował alegorn 12.04.2012, 15:05:47 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 01:18 |