Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: php i mysql - pętla?
Forum PHP.pl > Forum > Przedszkole
artyan
Zaczynam troche mysql+php
w mysql W jednej kolumnie tabeli mam numer, a w drugiej literke (z formularza wpisuje sie odpowiedz "a" lub puste pole)
Chciałbym uzyskać na stronie tabelke, ktora wyswietli mi ile razy dla numeru 1 padla odpowiedz, ile razy dla numeru 2 a ile razy dla numeru 3.
tabelka wyglada tak:
----------
nr | litera
----------
1 | a
2 |
3 | a
2 | a
1 |
2 | a
3 | a

Moglbym to zrobic w ten sposob:
$query="select * from tabela where litera like 'a' AND nr like '1'";
$result=mysql_query($query);
$nr_1=mysql_numrows($result);
echo "Dla nr=1 liczba wyników to: $nr_1";
i powtorzyc to kilka razy
ale...

co jesli w kolumnie "nr" mam numery powiedzmy od 1 do 150??
Czy musze 150 razy dawac zapytanie i powtarzac czy w jakiś sposob moge to zalatwic pętląquestionmark.gif?
Bogdan
Cytat(artyan @ 8.12.2006, 13:41:06 ) *
Zaczynam troche mysql+php
w mysql W jednej kolumnie tabeli mam numer, a w drugiej literke (z formularza wpisuje sie odpowiedz "a" lub puste pole)
Chciałbym uzyskać na stronie tabelke, ktora wyswietli mi ile razy dla numeru 1 padla odpowiedz, ile razy dla numeru 2 a ile razy dla numeru 3.
tabelka wyglada tak:
----------
nr | litera
----------
1 | a
2 |
3 | a
2 | a
1 |
2 | a
3 | a

Moglbym to zrobic w ten sposob:
$query="select * from tabela where litera like 'a' AND nr like '1'";
$result=mysql_query($query);
$nr_1=mysql_numrows($result);
echo "Dla nr=1 liczba wyników to: $nr_1";
i powtorzyc to kilka razy
ale...

co jesli w kolumnie "nr" mam numery powiedzmy od 1 do 150??
Czy musze 150 razy dawac zapytanie i powtarzac czy w jakiś sposob moge to zalatwic pętląquestionmark.gif?



Propozycja

  1. <?php
  2.  ................
  3.  ................
  4.  ................
  5.  
  6. $query='select * from tabela GROUP BY nr';
  7.  
  8. $result=mysql_query($query);
  9.  
  10. while($row = mysql_fetch_array($result))
  11. {
  12. echo '<a href="?num&nr='. $row['nr'] .' "> dla nr '. $row['nr'] .'</a> ';
  13. }
  14. echo '<br /><br />';
  15. if(isset($_GET['num'])) { 
  16.  
  17. $query = mysql_query('SELECT * FROM tabela WHERE nr='$nr'');
  18.  
  19. $row = mysql_fetch_array($query);
  20.  
  21. $nr_1 = mysql_num_rows($query);
  22.  
  23. echo 'Dla nr '. $row['nr'] .' liczba wyników to: $nr_1';
  24. }
  25. ?>


Jak zadziała daj znać
artyan
Po dopisaniu:
  1. <?php
  2. $query = mysql_query('SELECT * FROM test WHERE nr='$nr' and litera='a'');
  3. ?>

oraz zamiany w kilku miejscach ' na " zadziałało i to jest właściwy kierunek lecz jesli mogłbym prosić o podpowiedź jak to zrobić, żeby wszystkie wyniki pokazywały się na jednej stronie, a nie były linkami (w przypadku linków trudno o analizowanie całości)...heh muszę się jeszcze sporo uczyć... Oczywiście będę próbował również sam to ugryźć, a jak się uda to napisze na forum. Dzieki za podpowiedźexclamation.gif
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.