Jak sprawdzić pozycje w bazie mysql

Witam.

Mam w bazie danych tabele id, nazwa, ranking.

1-Jaś-530

2-Karol-2100

3-Jan-1800

I jak na stronie wyświetlić pozycje Jasia??

Wiem jak to zrobić wyświetlając wszystkie rekordy posortowane ale jak nie chce wyświetlać wszystkich rekordów tylko sprawdzić pozycje konkretnego usera??

Niech ktoś pomoże.

SELECT ranking FROM tabela WHERE id=1

Ale w tabeli ranking każdy user ma ileś punktów które zdobywa i ia chce sprawdzić które miejsce ma dany user np Jaś

Będziesz to pobierał do PHP, czy tylko z ciekawości chcesz podglądnąć w bazie?

Chce wyświetlić na stronie.

Jak ktoś się zaloguje to żeby było napisane:

Twoja pozycja w rankingu: pozycja

To zacznij od pobrania rekordów względem największej ilości punktów.

SELECT `nazwa`,`ranking` FROM `twoja nazwa tabeli` ORDER

by `ranking` desc;

Potem pobierasz sobie to do tablicy i wyświetlasz.

Tu masz rozwiązanie tego problemu: http://blog.adiasz.pl/2011/12/09/numerowanie-listy-zwracanych-rekordow-w-mysql/

Załóżmy, że masz pobraną tablice numeryczną o nazwie $array_user z samymi nazwami userów za pomocą tego zapytania:

SELECT `nazwa`` FROM `twoja nazwa tabeli` ORDER

by `ranking` desc;

Następnie stosujesz na tej tablicy numerycznej funkcje array_keys()

$positions_user = array_keys ($array_user, 'Jaś');


 if ($positions_user[0] == 0)
  {
   echo 'Jesteś 1 w rankingu';
  }
  else
  { 
   echo 'Jesteś '.$positions_user[0].' w rankingu'; 
  }[/code]

A moze być tak:

$result=mysql_query("SELECT nazwa FROM `user` ORDER BY 'ranking' DESC");

if(!empty($result))

{

$num = mysql_num_rows($result);

}

else

{

$num = 0;

}

$i=0;

while ($i < $num) 

{

$nazwa=mysql_result($result,$i,"nazwa");

if($nazwa==$login)

{

  echo"$i";

}

$i++;

}

Czy to jest poprawny i wydajny kod?? Nie znam się na mysql dlatego nie wiem jak to pobrac.