Foros del Web » Programando para Internet » PHP »

Posicion de un registro en los resultados de una consulta

Estas en el tema de Posicion de un registro en los resultados de una consulta en el foro de PHP en Foros del Web. Buenos dias, les cuento mi duda: Tengo una tabla en una base de datos que almacena usuarios, cada usuario tiene un determinado puntaje para realizar ...
  #1 (permalink)  
Antiguo 16/05/2009, 11:04
 
Fecha de Ingreso: enero-2008
Ubicación: La Plata
Mensajes: 136
Antigüedad: 16 años, 1 mes
Puntos: 3
Posicion de un registro en los resultados de una consulta

Buenos dias, les cuento mi duda:

Tengo una tabla en una base de datos que almacena usuarios, cada usuario tiene un determinado puntaje para realizar un ranking, extraido mediante la siguiente consulta:
Código PHP:
<? $query mysql_query('SELECT * FROM usuarios ORDER BY puntos DESC'); ?>
Entonces armar el ranking no es mi problema, mi problema viene cuando quiero saber la posicion de una persona en ese ranking.

Mi idea era que el usuario al ingresar a la seccion "mi cuenta" pueda ver su posicion en el ranking.

Hay algo que pueda hacer desde SQL sin necesidad de cargar todos los usuarios del ranking, para saber la posicion de uno solo?

Espero que me entiendan, desde ya muchas gracias.
  #2 (permalink)  
Antiguo 16/05/2009, 11:17
Avatar de Ryo
Ryo
 
Fecha de Ingreso: marzo-2008
Ubicación: Bilbao
Mensajes: 269
Antigüedad: 16 años
Puntos: 14
Respuesta: Posicion de un registro en los resultados de una consulta

Se puede, pero no conocemos tu sistema. Lo más común sería que cada usuario tuviera un identificador numérico, por lo que en algún sitio tendrías almacenada esa id.
Código PHP:
SELECT COUNT(*) AS superiores FROM usuarios HAVING puntos>(SELECT puntos FROM usuarios WHERE id={$id}) 
Eso te devolverá el número de usuarios que tengan más puntos que el actual. Si estás mirando el usuario que está en primera posición, por ejemplo, te devolverá 0. Por tanto, a ese resultado has de sumarle 1.
  #3 (permalink)  
Antiguo 16/05/2009, 11:44
 
Fecha de Ingreso: enero-2008
Ubicación: La Plata
Mensajes: 136
Antigüedad: 16 años, 1 mes
Puntos: 3
Respuesta: Posicion de un registro en los resultados de una consulta

Muchas gracias Ryo era justo lo que necesitaba.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:52.