Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Uporządkowanie kategorii (drzewko)
Forum PHP.pl > Forum > Bazy danych > MySQL
quba
Mam tabele kategorii (standardowo id, parent, itd.) i tabele relacji (left, right, level). Left to id categorii, do ktorej jestem w zaleznosci level (Zagłębienie). Right to id kategorii z tabeli kategorii. No i standardowo left joinem jestem w stanie pobrac wszystkie kategorie wraz z levelem, w jakim sa one zagnieżdżone względem kategorii głównej. Wszystko uporzadkowane jest wg levela. Tak wiec przykladowo po wykonaniu zapytania mam:
rodzic 1
rodzic 2
--|syn 1
--|syn 2
--|syn 21
--|syn 22
----|synsyna 2

Chcialbym to uporzadkowac w kolejnosci takiej:

rodzic 1
--|syn 1
--|syn 2
----|syn syna 2
rodzic 2
--|syn 21
--|syn 22

Trzeba by to zebrac w jakas tablice i posortowac, jednak brakuje mi pomyslow, jak to najszybciej zrobic. Zaznaczam, ze kategorie moga miec nieokreslona liczbe poziomow.
Ważne kolumny, do ktorych mam dostep przy pobieraniu kategorii (cat_id, cat_parent (rodzic danej kategorii), level (poziom zagnieżdżenia))
osiris
Niestety nie da sie tego w prosty sposob wykonac w MySQL gdyz nie obsluguje on CTE. Trzeba uzyc procedury ktora w petli bedzie pobierac wszystkie podpoziomy z danej kategorii, albo uzyc procedury rekurencyjnej. Wiecej info tutaj:
http://www.artfulsoftware.com/mysqlbook/sa...sqled1ch20.html
quba
Może jakiś przyklad jak to uporządkowac za pomocą pętli?
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.