Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] problem z zrobieniem pozycji
Forum PHP.pl > Forum > Przedszkole
mazyl
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.
abort
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)
mazyl
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
grzeee
wyświetla ci się 1 bo zapomniałeś pobrać wyniki (mysql_fetch_array) z bazy po zapytaniu
mortus
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.
mazyl
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?
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.