Foros del Web » Programando para Internet » PHP »

Posición según sql

Estas en el tema de Posición según sql en el foro de PHP en Foros del Web. Hola a todos y gracias por leerme, tengo una duda que seguro que alguien ha tenido y me ahorrará horas de búsqueda y fallos contínuos. ...
  #1 (permalink)  
Antiguo 08/09/2008, 07:01
Avatar de sirguy  
Fecha de Ingreso: septiembre-2006
Ubicación: Mallorca
Mensajes: 959
Antigüedad: 17 años, 6 meses
Puntos: 12
Posición según sql

Hola a todos y gracias por leerme, tengo una duda que seguro que alguien ha tenido y me ahorrará horas de búsqueda y fallos contínuos.

Tengo una bd con un campo numérico donde está la puntuación de los diferentes registros, hasta aquí todo claro.

Lo que quiero es calcular la posición respecto a los demás. El que más puntos tenga es el primero y el que menos el último. Creo que se me entiende pero por si acaso:

Tres registros: uno-200, dos-210 , tres-205, lo que quiero que me muestre es algo así:

Nombre:Dos
Puntos:210
Posición:1

Nombre:Tres
Puntos:205
Posición:2

Nombre:Uno
Puntos:200
Posición:3


Es decir lo que vendría a ser un ránking

Muchas gracias y un saludo a todos.
__________________
Chanante!
  #2 (permalink)  
Antiguo 08/09/2008, 07:10
 
Fecha de Ingreso: agosto-2008
Mensajes: 218
Antigüedad: 15 años, 8 meses
Puntos: 7
Respuesta: Posición según sql

$result=mysql_query("select nombre, puntos from tabla order by puntos", $conexion);
for($i=1;$row=mysql_fetch_assoc($result);$i++){
echo "Nombre: ".$row['nombre'];
echo "Puntos: ".$row['puntos'];
echo "Posición: ".$i;
echo "<br />";
}
  #3 (permalink)  
Antiguo 08/09/2008, 08:42
Avatar de sirguy  
Fecha de Ingreso: septiembre-2006
Ubicación: Mallorca
Mensajes: 959
Antigüedad: 17 años, 6 meses
Puntos: 12
Respuesta: Posición según sql

Muchas gracias por la respuesta y si te digo la verdad ni se me había ocurrido esa posibilidad, es lógica pero ahora que lo veo he planteado mal la pregunta. La posición la debe dar independiente de la consulta sql.

Me explico, la consulta viene ordenanda por orden de registro y con un script para paginar que encontré por ahí (www.desarrolloweb.com/articulos/1248.php).

También me han pedido tres botones para ordenar por orden alfabético, otro por mayor número de puntos y otro por ciudades (otro alfabético en otro campo de la tabla).


Si la posición solo tuviera que salir en la sección de ordenar por puntos no habría problema, usaría la variable de paginación para chapucear algo, el problema viene dado cuando uso otra consulta, como por ejemplo por los registros más recientes, que no tengo nada a qué agarrarme.

Vamos que lo que busco es que siempre me muestre en que posición está aunque se haya ordenado por orden alfabético, es decir, una consulta dentro de la propia consulta.

Espero que se me haya entendido y que se pueda hacer.

Gracias a todos y por supuesto a Ilie.
__________________
Chanante!
  #4 (permalink)  
Antiguo 08/09/2008, 08:56
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Posición según sql

Que tal sirguy, si deseas sabre en que posición está como lo planteas, necesitarías por ejemplo sacar el maximo de puntos para determinado usuario o ID, porteriormente comparar cuantos registros hay mas con ese puntaje. analiza este post creo que te puede servir.

http://www.forosdelweb.com/f18/posic...gistro-552883/


Saludos.
  #5 (permalink)  
Antiguo 08/09/2008, 11:50
Avatar de sirguy  
Fecha de Ingreso: septiembre-2006
Ubicación: Mallorca
Mensajes: 959
Antigüedad: 17 años, 6 meses
Puntos: 12
Respuesta: Posición según sql

Muchas gracias!! voy a ver que saco en plata, parece un post interesante.

Gracias
__________________
Chanante!
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 10:56.