Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] Zapytanie sortujące...
Forum PHP.pl > Forum > Przedszkole
poldo
Witam,

Mam pewien problem, którego nie potrafię sam rozgryźć, męczyłem się co prawda nad tym spoooro czasu, ale nie udało mi się nic sensownego wymyślić sad.gif
Dlatego proszę was o pomoc w skonstruowaniu zapytania SQL, mam następującą bazę:


CODE

-------------------------------------------------
| ID | NAZWA KATEGORI | PODKATEGORIA |
-------------------------------------------------
| 1 | Kategoria 1 | 0 |
| 2 | Kategoria 2 | 0 |
| 3 | Kategoria 3 | 0 |
| 4 | Podkategoria 1 | 2 |
| 5 | Podkategoria 2 | 2 |
| 6 | Podkategoria 3 | 1 |
-------------------------------------------------

itp...

Kategorie (1,2,3) są głównymi kategoriami na stronie ponieważ maja 0 w kolumnie "PODKATEGORIA". Podkategorie (1,2,3) przynależą do Kategorii głównych pod id wskazanym przez kolumne "PODKATEGORIA".
Np. Podkategoria 1 i 2 należą do Kategorii 2.

Bardzo mi zależy na tym by skonstruować zapytanie wyświetlające kategorie posegregowane w następujący sposób:

CODE

Kategoria 1
- Podkategoria 3

Kategoria 2
- Podkategoria 1
- Podkategoria 2

Kategoria 3


Ponieważ w bazie znajduje się już sporo rekordów, na zmianę konstrukcji całej bazy jest już trochę za późno.
I tutaj moja prośba do bardziej zaawansowanych ode mnie użytkowników o pomoc przy skonstruowaniu tego zapytania.
Mi niestety jak już zaznaczałem wyżej nie udało się to - mimo wielu przemyślan i prób... ;(

Pozdrawiam
bim2
Ja pobieram wszystkie wpisy z bazy danych a później w while() je odpowiednio zmieniam
$q = mysql_query("SELECT * FROM tabela");
while($r = mysql_fetch_assoc($q))
{
$dane[$r['id']] = $r;
}

Później rekurencją lecisz po kolejnych wpisach zagłebiając się.
poldo
No tak... oczywista oczywistość ;-)
Wszystko już pięknie smiga, dzięki za pomoc.
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.