![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 17.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Zrobiłem sobie ranking, który używa bazy MySQL. Mam tabele 'users' i są w niej kolumny nick, punkty. Wyświetlam wszystkie wyniki bez problemu używam do tego takiego kodu:
Otóż problem w tym, że chciałbym podając tylko nick, pokazać miejsce które zajął by ten użytkownik na tle innych. Dodałem
wpisałem tak:
Wyświetla się tylko admin, ale nie ważne czy będzie mieć nawet 0 punktów, zawsze zajmie 1 miejsce. Robię coś takiego pod stronkę, żeby po zalogowaniu widzieć na którym jestem miejscu w rankingu. Tutaj ktoś miał identyczny problem: http://www.experts-exchange.com/Database/M...Q_21039662.html ale żeby zobaczyć odpowiedzi trzeba mieć wykupione konto. Jakieś pomysły ? Tylko mnie nie odsyłajcie do google bo szukałem długo, a nie mam zbyt wiele czasu bo pisze z kompa od kolegi:/ EDIT: Znalazłem takie rozwiązanie, niby wszystko działa..
Tylko pozostaje mi jedno pytanie, jak długo będzie to przetwarzał serwer jeśli w bazie danych będzie jakieś 5000 rekordów ? Ten post edytował kowalik1 17.02.2009, 18:45:59 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 2 Dołączył: 17.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
pewnie długo, może możesz ograniczyć aby pokazywać np tylko 1 dziesiątkę, wtedy na końcu zapytania SQL dodaj słowo kluczowe LIMIT 0, 10
a prawdę mówiąc zrobił bym to tak: $query = "SELECT count(*) FROM users WHERE punkty > (SELECT punkty FROM users WHERE nick='admin')"; $result = mysql_query($query); $row = mysql_fetch_row($result); $miejsce = $row[0]; $query = "SELECT punkty FROM users WHERE nick='admin'"; $result = mysql_query($query); $row = mysql_fetch_row($result); $punkty = $row[0]; i wyświetlił pierwszy Query zlicza ci ile jest rekordów w których pole punkty jest większe niż admin co daje ci miejsce a drugi Query to wybranie punktów dla admina Ten post edytował spoon-pl 18.02.2009, 00:25:49 |
|
|
![]() ![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 17.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 16:22 |