[ skuller @ 13.03.2014. 19:43 ] @
Jel moze neko da mi pomogne, imam mysql tabelu "baza" sa kolonama ime(varchar) i poeni(int). Treba mi php kod, za odredjeno ime da izbaci(echo) poziciju u rankingu poredjanom po poenima :S

snasao sam se za ranking listu, sad mi samo treba pozicija
$result = mysql_query("SELECT * FROM baza ORDER BY poeni DESC")
echo $row['ime'];
echo $row['poeni'];
[ Nemanja Avramović @ 14.03.2014. 10:19 ] @
Imaš tri načina da to uradiš:

1) da PHP-om sa while petljom prođeš kroz sve rezultate, popakuješ ih u običan niz, i onda će ti indeks elementa u nizu biti njegova pozicija (-1)

2) da pustiš da MySQL prebrojava rezultate, nešto ovako:

Code:
$result = mysql_query("SELECT *, @curRow := @curRow + 1 AS pozicija FROM baza, (SELECT @curRow := 0) r ORDER BY poeni DESC");
//...
echo $row['pozicija'];
echo $row['ime'];
echo $row['poeni']; 


3) Ako je sve samo stvar prikaza, prikaži rezultate u ordered html listi :)
[ skuller @ 20.03.2014. 04:32 ] @
hvala na odgovoru.
Ovim MySql kodom sam dobio pozicije , ali meni treba pozicija za odredjenog igraca. Pokusao sam na kraju, posle DESC da dodam WHERE ime=$imee a zatim u browseru www.sajt.com/fajl.php?imee=nekoimeizbaze ima greska, izgleda da ne moze WHERE posle ORDER BY :S Stvarno se ne razumem u mysql.
[ Nemanja Avramović @ 20.03.2014. 10:20 ] @
WHERE stavljaš iza "...pozicija FROM baza"

Ovim MySQL kodom dobijaš redni broj rezultata u trenutnom rezultatu. Ako ograničiš upit da ti vrati samo jednog igrača, njegova pozicija u trenutnom rezultatu će biti 1.
[ skuller @ 20.03.2014. 17:09 ] @
gde god da ga stavim, javlja gresku


(ime baze je promenjeno u 'poeni')

Uostalom, sad mi i ne treba ako ce uvek da pokazuje br 1. ako ga ogranicim za odredjeno ime kao sto ti kazes.