Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Wyświetlanie rekordów i ilości
piotr485
post
Post #1





Grupa: Zarejestrowani
Postów: 292
Pomógł: 0
Dołączył: 10.07.2009

Ostrzeżenie: (0%)
-----


Witam.

Mam takie tabele:

KATEGORIA
id
kategoria_pl

PODKATEGORIE
id
podkategoria
id_kategoria

KATALOG_FIRM
id
id_podkategoria
nazwa_firmy

Mam problem z zapytaniem mianowicie chcę wyświetlić wszystko na jednej stronie najprawdopodobniej w dwóch pętlach - tak myślę bo nie widzę innej opcji w taki sposób:

PIERWSZA KATEGORIA
pierwsza podkategoria
druga podkategoria
trzecia
czwarta

DRUGA KATEGORIA
pierwsza podkategoria
druga podkategoria
czwarta

itd.

dodatkowo chciałbym, aby wyświetliły się tylko te podkategorie które mają jakieś odpowiadające im rekordy w tabeli katalog_firm

Udało mi się zrobić cos takiego

PIERWSZA KATEGORIA
pierwsza podkategoria (5)
druga podkategoria (3)
trzecia (3)
czwarta (1)

DRUGA KATEGORIA
pierwsza podkategoria (0)
druga podkategoria (0)
czwarta (3)

,ale nie mogę połączyć tego żeby tak gdzie jest zero aby się niewyświetlało, proszę o wskazówki rady i uwagi co do poprawności kodu i zapytań

[MYSQL] pobierz, plaintext
  1. $zapytanie = "
  2. SELECT kategoria.kategoria_pl AS kategoria,
  3. kategoria.id AS id
  4.  
  5. FROM kategoria
  6.  
  7. ORDER BY kategoria_pl
  8. ";
  9.  
  10. $wynik = @mysql_query ($zapytanie) 5.1/en/non-typed-operators.html">or die (mysql_error());
  11.  
  12.  
  13. while($row = mysql_fetch_array($wynik)) {
  14.  
  15. $kategoria = $row['kategoria'];
  16. $id = $row['id'];
  17.  
  18. echo '<b>'.$kategoria.'</b><br />';
  19.  
  20.  
  21. $zapytanie2 = "
  22. SELECT podkategorie.podkategoria AS podkategoria,
  23. podkategorie.id AS id_pod
  24.  
  25. FROM podkategorie
  26.  
  27. WHERE podkategorie.id_kategoria = $id
  28.  
  29. ORDER BY podkategorie.podkategoria
  30.  
  31.  
  32. ";
  33.  
  34. $wynik2 = @mysql_query ($zapytanie2) 5.1/en/non-typed-operators.html">or die (mysql_error());
  35.  
  36.  
  37.  
  38. while($row2 = mysql_fetch_array($wynik2)) {
  39.  
  40.  
  41.  
  42. $podkategoria = $row2['podkategoria'];
  43. $id_pod = $row2['id_pod'];
  44.  
  45. echo $podkategoria.' ';
  46.  
  47. $zapytanie3 = "
  48. SELECT katalog_firm.id_podkategoria AS ilosc
  49.  
  50. FROM katalog_firm
  51.  
  52. WHERE katalog_firm.id_podkategoria = $id_pod
  53.  
  54. ORDER BY katalog_firm.id_podkategoria
  55. ";
  56.  
  57. $wynik3 = @mysql_query ($zapytanie3) 5.1/en/non-typed-operators.html">or die (mysql_error());
  58. $suma = mysql_num_rows($wynik3);
  59.  
  60. echo '('.$suma.')<br /><br />';
  61.  
  62. }
  63.  
  64.  
  65.  
  66. }
[MYSQL] pobierz, plaintext


Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
piotr485
post
Post #2





Grupa: Zarejestrowani
Postów: 292
Pomógł: 0
Dołączył: 10.07.2009

Ostrzeżenie: (0%)
-----


Nie chciałbym tutaj sypać moim kodem bo to prawie 200 linijek, ale cały czas się męczę z tymi zapytaniami i zagnieżdżeniami.

Przeczytałem ten artykuł i z tego co zrozumiałem jest tam opisane jak przy pomocy jednego zapytania stworzyć tablice i później przy pomocy pętli się odwoływać.

Nasuwa mi się kilka pytań z tego względu, że jestem dość początkujący i cały czas się uczę i dowiaduję czegoś nowego.

Mianowicie:

1. Czy stworzenie kategorii w których znajdują się podkategorie, a w tych podkategoriach znajdują się rekordy, które są stronnicowane i dodatkowo w każdy rekord można klinikąc i w nim wyświetla się jeszcze więcej informacji na temat tego rekordu - można to wykonać przy pomocy jednego zapytania ?

2. Czy wykonywać to w jednym pliku czy robić to na osobnych ? (robiąc na osobnych nie potrafiłem stworzyć pasku adresu w postaci: strona główna -> kategoria -> podkategoria -> produkt - ponieważ niepotrafiłem dodać getów)

3. A co przy każdym tworzeniu $_GET czy nie ma jakieś możliwości dopisywania do istniejącego adresu np. &podkategoria=2. W moim przypadku to męczące jest ponieważ za każdym razem gdy wchodzę "głębiej" i dopisuje GETy to robi się wielka kaszana, jak już chcę dopisać jakiś to muszę stworzyć już istniejący za pomocą np. index.php?strona=$get_strona&kategoria=$get_kategoria&podkategoria=$get_podkategoria, a jak bede mial tego jeszcze ze dwa i później zajdzie mi potrzeba coś zmodyfikować to będę to musiał wszędzie robić. Jak wy to rozwiązujecie ?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.10.2025 - 10:30