Dziś jest poniedziałek, 13 października 2008 roku (z kalendarza...)

Wracamy do drzew

Icon

23.05.2005, 18:08

PHP

Komentarze (0)

Powrót

I znowu kolejny wpis pod rząd związany z webmasterstwem, ale co tam. Ostatnio na forum Webcity.pl wywiązała się ciekawa dyskusja o tworzeniu drzew w PHP i MySQL. Temat na forum jest stary, jak świat, a mnie tu interesuje jeno jego końcówka. Link zamieszczam w przypisach, a co i jak - już tłumaczę.

Już całkowicie pomijając fakt, że o danym zagadnieniu "zaczyna się" mówić dopiero, gdy się za nie zabiorę (może dopiero wtedy zwracam na nie uwagę?), Bernaq na nowo reaktywował tę dyskusję mówiąc, że stosuje metodę wyświetlania drzew z użyciem ID rodzica. W dodatku robi to jednym, jedynym zapytaniem. Zaintrygowało mnie to, bowiem na mój gust wyglądało, że dokonał niemożliwego :). Okazało się, że cały magiczny sposób polega na "hardcore'owym" załadowaniu tegoż drzewa i jego późniejszej, ręcznej obróbce w PHP. Według Bernaqa rozwiązanie to jest skuteczne.

Pozwolę tu nie zgodzić się z rozmówcą. Podany przez niego sposób trochę kłóci się z samą ideą bazy danych, która powinna tak gromadzić dane, jak i pomagać w ich sortowaniu i układaniu. Tu ta druga rola została przerzucona z powrotem na język programowania. Na koniec zadanie: spróbujmy w ten sposób wyświetlić pojedynczą gałąź bez ładowania całego drzewa. Oczywiście przy założeniu, że rekordy leżą tak, jak zostały dodane (a mogą być dodane chaotycznie), bez rekurencyjnego wywoływania zapytań, czego chcemy uniknąć, się raczej nie obejdzie. Przynajmniej tak to wygląda na mój gust.

Powrót

Skomentuj

NickInformacja
E-mailTylko do użytku wewnętrznego.
WWWNie zapomnij o http://
LayoutNapisz tu, czy widzisz dzienny czy nocny layout.
WpisFormatowanie wiki
Internauto, pamiętaj! Wolność to nie samowola - dbaj o kulturę wypowiedzi oraz dyskusji w sieci.

Na Zyxist.com panuje swoboda wyrażania opinii oraz krytyki pod dowolnym adresem. Jedyny warunek: musi być ona kulturalna i rzeczowa. Na chamstwo, prostactwo lub jawne obrażanie kogokolwiek nie ma tu miejsca i takie komentarze są bardzo szybko usuwane. Jeśli zamierzasz polemizować z treścią wpisu, wpierw uważnie ją przeczytaj.

© Tomasz "Zyx" Jędrzejewski 2005 - 2008 | Wykonanych zapytań: 1 | Serwer wirtualny zapewnia