Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]funkcja count
ghastblood
post
Post #1





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

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


Witam, tym razem mam problem z funkcją count

  1. <?php
  2. require_once "conn.php";
  3.  
  4. function dbcount($field, $table, $conditions = "") {
  5. $cond = ($conditions ? " WHERE ".$conditions : "");
  6. $wynik = @mysql_query("SELECT Count".$field." FROM ".$table.$cond);
  7. if (!$wynik) {
  8. return false;
  9. } else {
  10. $row = mysql_result($wynik, 0);
  11. return $row;
  12. }
  13. }
  14.  
  15.  
  16. echo "<h1>Podstawowe Informacje</h1>";
  17. echo "<p style='text-align: center;'>";
  18. echo "<b>Zawodników: </b>".dbcount("(zawodnik_id)", zawodnik)."<br>";
  19. echo "<b>Konkurencji: </b>".dbcount("(konkurencje_id)", konkurencje)."<br>";
  20. echo "<b>Osobostartów: </b>".dbcount("(id)", zawodnik_konkurencje)."</p><hr>";
  21. echo "<h1>Konkurencje</h1>";
  22. echo "<p style='text-align: center;'>";
  23.  
  24.  
  25. ?>


chciał bym wyświetlić statystyki dla jakiejś konkurencji

konkurencja1 = 2 osoby
konkurencja3 = 4 osoby

mam 2 tabele

1 tabela nazwy_konkurencji
id_konkurencji
nazwa_konkurencji

2 tabele zawodnik_konkurencje
id
id_zawodnika
id_konkurencji

w jaki sposób mogę tego dokonać. Niestety dalej sobie nie radzę z zapytaniami do kilku tabeli jednocześnie
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
darko
post
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Nie czuję się dobry z sqla, ale zacząłbym od poprawnie sformułowanego zapytania:

  1. SELECT k.nazwa_konkurencji, count(z.id_zawodnika) FROM zawodnik_konkurencje AS z RIGHT JOIN nazwy_konkurencji AS k ON k.id_konkurencji=z.id_konkurencji
Go to the top of the page
+Quote Post
Wicepsik
post
Post #3





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


  1. SELECT COUNT(zk.id_zawodnika) AS ile FROM zawodnik_konkurencje zk, nazwy_konkurencji nk WHERE zk.id_konkurencji = nk.id_konkurencji AND nk.nazwa_konkurencji IN ('konkurencja1', 'konkurencja3') GROUP BY ile


Pisane z palca, wiec nie wiem czy jest to zadziała

Ten post edytował Wicepsik 21.07.2010, 15:07:37
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 - 23:32