Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]funkcja count
Forum PHP.pl > Forum > Przedszkole
ghastblood
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
darko
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
Wicepsik
  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
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.