Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql/php] automatycznie nr miejsca w bazie, bez sortowania
M@X
post
Post #1





Grupa: Zarejestrowani
Postów: 212
Pomógł: 0
Dołączył: 18.12.2003
Skąd: Warszawa

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


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 ?


--------------------
"timeo danaos at dona ferentes"
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
melior
post
Post #2





Grupa: Zarejestrowani
Postów: 68
Pomógł: 3
Dołączył: 7.12.2009

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


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.

Ten post edytował melior 10.10.2010, 07:33:04
Go to the top of the page
+Quote Post
peku33
post
Post #3





Grupa: Zarejestrowani
Postów: 65
Pomógł: 5
Dołączył: 22.01.2010

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


http://forum.php.pl/index.php?showtopic=16...view=getnewpost
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 13:13