Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] problem z zrobieniem pozycji
mazyl
post
Post #1





Grupa: Zarejestrowani
Postów: 139
Pomógł: 2
Dołączył: 2.12.2011

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


Witam!

na swojej stronie chcę wyświetlić numer na którym znajduje się dany rekord.

na stronie głównej aby wyglądało to tak


nazwa | rank | gracz
------------------------
nazwa1 | 0.1 | gracz1
nazwa2 | 0.02 | gracz2
nazwa3 | 3 | gracz3
nazwa4 | 40 | gracz4

i moje pytanie brzmi jak zrobić, by w kolumnie np. dla gracza 3 pokazywało się:

nazwa | Twoja pozycja |
------------------------
nazwa3 | miejsce 2 |


z góry dzięki za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
abort
post
Post #2





Grupa: Zarejestrowani
Postów: 590
Pomógł: 107
Dołączył: 25.10.2011

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


nie napisałeś, gdzie trzymasz dane (plik? baza?), więc opis też schematyczny: Znajdź i policz wszystkie pola, które spełniają warunek "rank > rank_gracza". Dodaj jeden. Otrzymałeś wynik. Wyświetl (lub zrób co chcesz)
Go to the top of the page
+Quote Post
mazyl
post
Post #3





Grupa: Zarejestrowani
Postów: 139
Pomógł: 2
Dołączył: 2.12.2011

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


dane z bazy biore

własnie tak jak napisałeś zrobiłem i wyskakuje mi


  1. $ran = mysql_fetch_array(mysql_query("SELECT * FROM `serwery`"));
  2. $r2 = $ran['rank'];
  3. $r3 = $row['rank'];
  4. $rank = mysql_query("Select count(*) from serwery where rank > ".$r2."");
  5. $ranking = $rank['rank'] + 1;
  6.  
  7. echo $ranking;


i cały czas wyskauje że rank jest równy 1

Ten post edytował mazyl 3.12.2011, 11:23:11
Go to the top of the page
+Quote Post
grzeee
post
Post #4





Grupa: Zarejestrowani
Postów: 102
Pomógł: 5
Dołączył: 24.11.2006

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


wyświetla ci się 1 bo zapomniałeś pobrać wyniki (mysql_fetch_array) z bazy po zapytaniu

Ten post edytował grzeee 3.12.2011, 11:29:15
Go to the top of the page
+Quote Post
mortus
post
Post #5





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

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


W MySQL można użyć zapytania:
  1. SELECT `s`.`nazwa`, @pozycja:=@pozycja+1 `pozycja` FROM (SET @pozycja:=0) `p`, `serwery` `s` ORDER BY `s`.`rank` DESC

Jednak wtedy wyniki będą posortowane (gracz z największą wartością `rank` będzie miał pozycję 1).

Alternatywą jest posortowanie kopii tablicy wyników w PHP i przepisanie pozycji do oryginalnej tablicy.
Go to the top of the page
+Quote Post
mazyl
post
Post #6





Grupa: Zarejestrowani
Postów: 139
Pomógł: 2
Dołączył: 2.12.2011

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


Grzeee gdy dodaje mysql_fetch_array nie zlicza mi wyników.

a co do propozycji mortusa to troche to skomplikowane. moglbys wytłumaczyć dokładniej ?

wymyśli ktoś może?
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 8.10.2025 - 16:53