Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapytanie sql
Forum PHP.pl > Forum > PHP
tabbi
Witam,

mam mały problem otóż mam jedną tabele:

  1. id parent name system_link main_cat counter
  2. 1 0 Bezpieczeństwo bezpieczenstwo 8 2159
  3. 2 1 Aktualizacje i poprawki zabezpieczeń bezpieczenstwo-aktualizacje-i-poprawki-zabezpiecze... 0 93
  4. 3 1 Pakiety zabezpieczające bezpieczenstwo-pakiety-zabezpieczajace 0 50
  5. 4 1 Anty: spyware, spam, dialer, trojan bezpieczenstwo-anty-spyware-spam-dialer-trojan 0 71

...

Chciałbym w jednym zapytaniu wywindować sobie tabele w postaci:

by wyświetlić ją w następujący sposób najpierw kategorie główne poźniej podkategorie należące do danej kategorii głównej id = parent

robie to za pomocą 2 zapytań:
wszystkie kategorie główne ->
  1. WHERE main_cat = '8' ORDER BY name ASC

podkategorie należące do kategorii głównej ->
  1. WHERE parent IN(SELECT id FROM cats WHERE main_cat = '8') GROUP BY parent, id, name, system_link ORDER BY name ASC


później całość wyświetlania polega na sprawdzanie czy id = parent z tych 2 tabel

  1. {foreach $categories as $category}
  2. <li>
  3. <h3><a href="{$smarty.const.BASE_HREF}kategoria-{$category.id}-{$category.system_link}.html">{$category.name}</a></h3>
  4. </li>
  5. {if isset($category.id)}
  6. {foreach $sub_categories as $subcategory}
  7. {if $subcategory.parent == $category.id}
  8. <li><a href="{$smarty.const.BASE_HREF}kategoria-{$subcategory.id}-{$subcategory.system_link}.html">{$subcategory.name}</a></li>
  9. {/if}
  10. {/foreach}
  11. {/if}
  12. {/foreach}


Nie jest to zbyt optymalne dlatego czego na porady ? uwagi ?
nospor
Opisywałem bardzo podobny problem. Może ci się przyda:
http://nospor.pl/grupowanie-wynikow.html
mortus
Tutaj chyba chodzi o drzewo kategorii.
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.