Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> php i mysql - pętla?
artyan
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 8.12.2006

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


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ą(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
Go to the top of the page
+Quote Post
Bogdan
post
Post #2





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 1.12.2006

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


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ą(IMG:http://forum.php.pl/style_emoticons/default/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ć

Ten post edytował Bogdan 8.12.2006, 15:41:34
Go to the top of the page
+Quote Post
artyan
post
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 8.12.2006

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


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ź(IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif)

Ten post edytował artyan 8.12.2006, 16:04:20
Go to the top of the page
+Quote Post

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: 23.08.2025 - 22:34