Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] Drzewo w SQL jak wybrać wszystkie child danego roota?
Forum PHP.pl > Forum > Bazy danych > MySQL
maniak11
Witam, mam pytanko, może dosyć proste ale nie mogę sobie z tym poradzic.

Mam w bazie

id_menu, name, id_parent
1 aaa, 0
2 bbb, 0
3 ccc, 0
4 ddd 1
5 eee 4

Wynika z tego że jest sobie w menu aaa podmenu ddd, a to ddd zawiera jeszcze podmenu eee.

W jaki sposób można wyciągnąć wszystkie wiersze "dzieci" podając id=1 (czyli tutaj wiersz 1, 4, 5 ?

Dziękuję z góry za odpowiedź
nospor
przy takiej "nedznej" strukturze bez rekurencji sie nie obejdzie.

moze poczytaj cos o strukturach drzewiastych to bedziesz mial latwiej winksmiley.jpg
maniak11
Nie wiem czy pisząc nędznej żartowałeś czy mówiłeś serio, jeśli serio to jaka wg. Ciebie jest lepsza do czegoś takiego?
erix
Wpisz sobie mysql drzewka, to na forum znajdziesz parę tematów.
nospor
Cytat
Nie wiem czy pisząc nędznej żartowałeś czy mówiłeś serio, jeśli serio to jaka wg. Ciebie jest lepsza do czegoś takiego?

No mowilem serio smile.gif
Tworzenie struktury drzewiastej tylko i wyłącznie na podstawie id_parent to najgorsze z mozliwych rozwiązan. Daje ci to nie samowicie ograniczone mozliwosci w optymalnym zarządzaniu taką strukturą.

Jak pisałem poczytaj w necie o strukturach drzewiastych.
VegetaSSJ
http://dev.mysql.com/tech-resources/articl...hical-data.html
http://www.sitepoint.com/article/hierarchi...ata-database/2/

Większość frameworków ma też wbudowaną obsługę drzewa, np CakePHP możesz podpatrzeć jak tam to się dzieje.
maniak11
Ok, dzięki za info wszystkim, poczytam w takim razie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.