Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Ranking userów
Forum PHP.pl > Forum > Przedszkole
d.stp
Mam dwie tabele:

punkty:

id | ilosc | user_id | data

uzytkownicy:

id | login | haslo

Chciałbym wyciągnąć z bazy TOP 10 userów którzy mają największą ilość punktów dnia dzisisiejszego (data trzymana jako pole date mysql).

Pomoże ktoś?
ilidir
po pierwsze w tabeli:

punkty zmień nazwy kolumn bo się pogubisz:
punkty_id
user_id
ilosc
data


tabela uzytkownicy:
user_id
login
haslo


I teraz musisz jak zapewnewiesz połącz 2 tabele: https://www.google.com/search?q=mysql+inner...%85czenie+tabel

Nastepnie do przygotowanego zapytabnia dodajesz sortowanie i wpisujesz LIMIT który ma się wyświetlić
d.stp
Spoko, tabele mam dobrze zaprojektowane bo sam jestem uczulony na niewłaściwe nazwy w bazie smile.gif a tutaj dałem tak, żeby skrócić.

user_id, user_pass, user_login
point_id, point_date, point_user_id

Próbowałem:

  1. SELECT
  2. *
  3. FROM
  4. points
  5. users
  6. GROUP BY
  7. point_amount
  8. ON
  9. points.point_user_id = users.user_id
  10. WHERE
  11. DATE(points.point_date) = CURDATE()

Oczywiście porażka sad.gif

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in
trueblue
  1. SELECT user_login,SUM(ilosc) AS punkty
  2. ...
  3. GROUP BY user_id /* na pewno nie między JOIN i ON */
  4. ....
  5. ORDER BY punkty DESC
d.stp
No dokładnie, wszystko przez złe umiejscowienie tego GROUP BY.

Chyba sobie poradziłem, ale dzięki wielkie za pomoc smile.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.