Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pozycja w rankingu Proszę o pomoc
dtrb
post 17.12.2012, 02:09:18
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 31.01.2011

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


mam tabelę gdzie każdy user ma jakąś sumę punktów.

Chcę, aby każdy user jak się zaloguje na swoje konto to widział tylko swoją pozycję w rankingu... Niby prostę się wydaję, wiem jak posortować rekordy według ilości punktów ale nie wiem jak wygenerować liczbę która określi pozycję w takim rankingu.


Proszę o pomoc!
Go to the top of the page
+Quote Post
Michael2318
post 17.12.2012, 07:57:52
Post #2





Grupa: Zarejestrowani
Postów: 651
Pomógł: 116
Dołączył: 3.06.2012
Skąd: Lędziny

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


  1. $sql = "SELECT jakies_id FROM `tabela` ORDER BY jakies_id DESC"; // wyszukujemy wszystkie ID jakiejs tabeli, od najwiekszego do najmniejszego
  2. $result = mysql_query($sql)
  3. or die('error');
  4. $i = 0; // zmienna liczaca, na start przyjmuje 0
  5. $poszukiwane_id = 21; // ID usera, którego ID musimy okreslic w rankingu
  6. while ( $row = mysql_fetch_assoc($result) )
  7. {
  8. $i++;
  9. if ( $row['jakies_id'] == $poszukiwane_id ) // jesli obecnie sprawdzane ID jest rowne ID wybranego ID ze zmiennej $poszukiwane_id
  10. {
  11. break; // .. to stopujemy petle
  12. }
  13. }
  14.  
  15. echo 'Twoja pozycja w rankingu to: '.$i; // .. a jego ranking to wartość zmiennej $i (liczenie zatrzymała wtedy, gdy znaleziono ID ww. usera)


Do najlepszych rozwiązań może nie należy, ale działa wink.gif

Ten post edytował Michael2318 17.12.2012, 08:04:54
Go to the top of the page
+Quote Post
mortus
post 17.12.2012, 08:08:22
Post #3





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Chyba jakoś tak:
  1. SELECT * FROM (SELECT @i:=@i+1 `pozycja`, `c`.* FROM (SELECT @i:=0) `start`, `category` `c` ORDER BY `id` DESC) `pozycje` WHERE `id` = USER_ID;

Więcej "sztuczek" u nospora.

Ten post edytował mortus 17.12.2012, 08:09:13
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 08:41