Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][sql] zliczanie i sortowanie
Forum PHP.pl > Forum > Przedszkole
Wieviór
Mam dwie tabele:

zawodnik
Kod
zawodnik_id
zawodnik


statystyki_gole
Kod
gole_id
zawodnik_id
sezon_id


Teraz chcę za pomocą while wyświetlić kolejnych zawodników i ilość ich bramek obok, od razu najlepiej jeszcze ustawiając od największej ilości bramek do najmniejszej(ale tego jeszcze tu nie uwzględniałem). Kombinuję tak:

  1. <?php
  2. $sql = "SELECT statystyki_gole.zawodnik_id, zawodnik.zawodnik, COUNT(zawodnik_id) as liczba FROM statystyki_gole, zawodnik WHERE statystyki_gole.sezon_id='1' AND statystyki_gole.zawodnik_id = zawodnik.zawodnik_id";
  3. ?>


I wychodzi mi błąd:

Kod
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home.10.9/lfcdbgjj/www/lfc4/includes/strzelcy.php on line 8


Jeśli usunę: ", COUNT(zawodnik_id) as liczba" to wyświetla po prostu kolejne rekordy statystyki_gole, pokazując dobrze nazwę zawodnika, ale tu nie mam nawet jak pokazać ilości goli.

Nie wiem czy to w ogóle dobrze robię, nie chciałbym zmieniać struktury bazy danych i jakoś to zrobić...
nitek
Z tego co pamiętam, nie możesz stosować w ten sposób w sqlu funkcji agregującej (count) w zapytaniu..
funkcje agregujące nie działają chyba w zapytaniach które zwracają kilka wierszy...
gutek84
a sprobuj
  1. SELECT statystyki_gole.zawodnik_id, zawodnik.zawodnik, COUNT(statystki_gole.zawodnik_id) AS liczba FROM statystyki_gole, zawodnik WHERE statystyki_gole.sezon_id='1' AND statystyki_gole.zawodnik_id = zawodnik.zawodnik_id


blad polega na tym ze w 2 tabelach masz zawodnik_id i nie podales do ktorej tabeli sie odnosisz
Wieviór
@nitek - rzeczywiście, to nawet nie ma sensu. Wpadłem już na prostszy sposób przy lekkiej modyfikacji tabeli. Dzięki anyway ;]
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.