Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Pętla w pętli
Woytek950
post
Post #1





Grupa: Zarejestrowani
Postów: 130
Pomógł: 2
Dołączył: 6.06.2008
Skąd: jesteś ?

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


Witam. Próbuję stowrzyć skrypt forum i natknąlem się na problem:
gdy próbuj wyświetlić kategorie to wiadomo że po kategoriach są fora i pętla while nie wystarcza,albo wystarcza a ja nie umiem sobie poradzić. Może chodzi o pętlę w pętli ?

  1.  
  2. while ($wiersz = mysql_fetch_array($wynik))
  3.   {
  4. echo $wiersz['kategoria']."<br />";
  5. //echo $wiersz['forum']."<br />" i tu jest problem, czy trzeba zrobić od nowa pętle razem z zapytanuiem ? ;
  6.  
  7.  
  8.   }
  9.  
  10.  

To jest przykład, trochę lipnie wytłumaczone ale mam nadzieję że zrozumiecie.


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





Grupa: Zarejestrowani
Postów: 138
Pomógł: 3
Dołączył: 4.05.2009

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


  1.  
  2.  
  3. echo"<table>";
  4.  
  5. $z="SELECT * FROM kategorie";// Tabela z kategoriami ID | NAZWA
  6. $w=mysql_query($z) // wywolanie zapytania $z
  7.  
  8. $n=mysql_num_rows($w); // zliczanie rekordow zapytania $z (ilosc kategorii)
  9.  
  10.  
  11. for($x=0;$x<$n;$x++) // petla do przeszukiwania FOR
  12. {
  13. $id_kategorii=mysql_result($w,$x,"id"); // ID kategorii
  14. $nazwa_kategorii=mysql_result($w,$x,"nazwa"); // nazwa kategorii
  15.  
  16. echo"<tr><td colspan='3'>$nazwa_kategorii</td></tr>"; // wyswietlamy nazwe kategorii
  17.  
  18. $z1="SELECT * FROM fora WHERE kategoria='$id_kategorii'"; // Szukamy for które są w danej kategorii
  19. $w1=mysql_query($z1);// wykonujemy zapytanie $z1
  20.  
  21. $n1=mysql_num_rows($w1); // zliczamy ilość for danej kategorii
  22.  
  23.  
  24. for($y=0;$y<$n1;$y++) // przeszukujemy tematy
  25. {
  26. $id_forum=mysql_result($w1,$y,"id"); // pobieramy id forum
  27. $nazwa_forum=mysql_result($w1,$y,"nazwa"); // nazwe
  28. $auto_rforum=mysql_result($w1,$y,"autor"); // i autora
  29.  
  30. $z2="SELECT * FROM tematy WHERE forum='$id_forum' "; // Wybieramy wszystkie tematy które należą do tego forum
  31. $w2=mysql_query($z2) // wykonujemy zapytanie $z2
  32.  
  33. $n2=mysql_num_rows($w2); // zliczamy ilosc tematow
  34.  
  35. echo"<tr><td>$nazwa_forum</td><td>$autor_forum</td><td>$n2</td></tr>"; // wyswietlamy dane
  36.  
  37. }
  38.  
  39.  
  40. }
  41.  
  42. echo"</table>";
  43.  
  44.  


teraz struktura tabeli w bazie danych.

są 3 tabele.

1. kategorie - ID | NAZWA
2. fora - ID | NAZWA | KATEGORIA
3. tematy - ID | NAZWA | ... | ... | forum|

W tablicy tematy masz umieszczone nazwy i id tematow a takze do kazdego tematu musisz miec do jakiego forum nalezy. Wtedy skrypt powinien dzialac.

Ten post edytował wizard144 31.01.2010, 15:39:41
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: 8.10.2025 - 15:39