Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Kategorie i subKategorie
Forum PHP.pl > Forum > Przedszkole
stirith
Mam tabele categories (id, nazwa kategorii) z głównymi kategoriami, i subcategories z podkategoriami (nazwa subkategorii, id głównej kategorii)

Jak to wyświetlić w formacie :


-Główna kategoria1
---Podkategoria
---Podkategoria1
---Podkategoria2
---Podkategoria3

-Główna kategoria2
---Podkategoria
---Podkategoria1
---Podkategoria2
---Podkategoria3

czyli chciałbym 2 zagnieżdżone w sobie ul

Nie wiem jak stworzyć poprawne zapytanie, bo łącząc te 2 tabele, nie wychodzi...

Potrzebuje coś takiego (to prowizorka)

while(.......)
{
<ul>
<li>glowna kategoria
<ul>
while()
{
<li>podkategoria</li>
}
</ul>
</li>
</ul>
}

ten "kod" wyżej to tylko prowizorka, co chcę osiągnąć, ale nie wiem jak
skowron-line
To może skoro nie możesz stworzyć jednego zapytanie które wyciągnie wszystko to może wybierz sobie 1 zapytaniem wszystkie kategorie główne a pozniej w pętli subkategorie do każdej kategorii.
stirith
Cytat(skowron-line @ 22.02.2009, 09:22:56 ) *
To może skoro nie możesz stworzyć jednego zapytanie które wyciągnie wszystko to może wybierz sobie 1 zapytaniem wszystkie kategorie główne a pozniej w pętli subkategorie do każdej kategorii.


Ale ja nie chce uczyć się, tworzenia złych skryptów...skoro można to zrobić jednym zapytaniem, to chciałbym się tego nauczyć...chyba że się nie da, to chciałbym poznać najlepsze rozwiązanie
xbigos
  1. SELECT C.CategoryName, C.CategoryID, S.CategoryName, S.CategoryID FROM Categories AS C INNER JOIN SubCategories AS S ON C.CategoryID = S.ParentID GROUP BY C.CategoryName ASC


Chyba się nie pomyliłem. Pisałem z marszu.
Aha i jeszcze nadaj aliasy bo zapomnialem.
kefirek
Zaobacz tak powinno byc dobrze. Dopasuj sobie tylko nazwy kolumn
  1. <?php
  2. $wynik = mysql_query("SELECT * FROM categories");
  3. if(mysql_num_rows($wynik) > 0) {
  4. while($r = mysql_fetch_assoc($wynik)) {
  5. echo '<b>'.$r1['nazwa kategorii'].'<b/><br>';  
  6. $wynik1 = mysql_query("SELECT * FROM subcategories WHERE id='".$r['id']."'");  
  7. while($r1 = mysql_fetch_assoc($wynik)) {
  8. echo $r1['nazwa subkategori'].'<br>';
  9. }
  10. }
  11. }
  12. ?>
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.