Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pytanie odnośnie wyświetlania rekordów
Forum PHP.pl > Forum > PHP
zurek
Mam następujące pytanie jak wyświetlić dwie grupy rekordów, jedne pod drugimi. Tak jakby forum, że są kategorie i podkategorie - coś w tym stylu. Jak to zrobić?
coder()
to zależy jak dane rekordy masz umieszczone w bazie danych... w osobnych tabelach? opisz to najlepiej żeby bylo latwiej Ci podpowiedzieć... bo wiele jest mozliwości
zurek
Są niestety w osobnych tabelach, bo niewiem jak to razem sensownie połączyć blinksmiley.gif
kossa
wszystko zależy od stryktury tabel, np.

tabela kategorie:

id, nazwa_kategorii

tabela podkategorie

id, id_kategorii, nazwa_podkategorii

i jak wyciągasz dane to

  1. SELECT * FROM podkategorie WHERE id_kategorii=JAKIES_ID;



jednak rozsądniej jest to zrobić w jednej tabeli

id, parent, nazwa

i tak główna kategoria będzie tak (przykład rekordu):

3,0,książki

podkategoria:
7,3,przygodowe

i tu masz że przygodowe o id 7 należą do kategorii o id 3 smile.gif


Łukasz
zurek
Mniej więcej wiem o co ci chodzi, ale jak to wyświetlić. Jak np. działają takie fora?
RubiX
Zobacz na ten kod:
  1. <?php
  2. //pobieranie danych z sql o kategorii
  3. $result = mysql_query("SELECT * FROM kategorie");
  4. while($dane = mysql_fetch_array($result)) {
  5. echo "Nazwa: ".$dane['kat_tytul']."";
  6. //pobieranie danych o subkategoriach należących do kategorii o nr id kategorii
  7. $idkategorii = $dane['kat_id'];
  8. $subkategoria = mysql_query("SELECT * FROM subkategorie WHERE sub_kat_id = $idkategorii");
  9. while($pokaz = mysql_fetch_array($subkategoria) {
  10. echo "Nazwa Subkategorii : ".$pokaz['sub_tytul']."";
  11. }
  12. }
  13. ?>


W pierwszym while wyciągasz nazwę kategorii a w drugim while wszystkie subkategorie związane z kategorią o danym ID (kat_id)

A tabela mysql wygląda tak:
  1. kategorie:
  2. kat_id | kat_tytul |
  3. 1 | auta |
  4. 2 | natura |
  5.  
  6. Subkategorie:
  7. sub_id | sub_kat_id | sub_tytul |
  8. 1 | 2 | kwiaty |
  9. 2 | 1 | porsche |
  10. 3 | 1 | fiat |
  11. 4 | 1 | mazda |
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.