Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql/php] automatycznie nr miejsca w bazie, bez sortowania
Forum PHP.pl > Forum > PHP
M@X
Witam.
Mam ranking graczy w bazie w takiej postaci:

ID | NICK | PKT

1 | gracz1 | 12
2 | gracz2 | 10
3 | gracz3 | 19
4 | gracz4 | 2
... itd


W momencie jak sortuje "ORDER BY pkt" to wyswietla mi sie w kolejnosci:
1. gracz3
2. gracz1
3. gracz2
4. gracz4

Mam również wyświetlanie danego profilu gdzie jest NICK i PKT.
Ale np podczas wyświetlania profilu danego gracza, w jaki sposób od razu pokazać jego miejsce ?
Chodzi mi o to że w bazie nie ma kolumny "miejsce", jest ono widoczne tylko po sortowaniu. Jest jakaś komenda funkcja która wyświetlała by nr miejsca ?
melior
Ok, spróbuj czegoś takiego:

  1. SELECT * FROM (SELECT @rownum := @rownum+1 miejsce, id, nick, pkt
  2. FROM (SELECT @rownum:=0) r, moja_tabela
  3. ORDER BY pkt DESC
  4. ) AS wynik WHERE id = 4;


Tworzymy dodatkową kolumnę, która zlicza wszystkie wiersze, posortowane według punktów. Potem jedynie wyciągamy z niej co chcemy podając id gracza.
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.