Foros del Web » Programando para Internet » PHP »

Duda con Ranking---

Estas en el tema de Duda con Ranking--- en el foro de PHP en Foros del Web. Buenas!! haber si me pueden dar una mano... tengo un ranking hecho, y lo que quiero hacer, pero por mas que pienso y pienso no ...
  #1 (permalink)  
Antiguo 27/09/2007, 09:22
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 18 años
Puntos: 23
Duda con Ranking---

Buenas!!
haber si me pueden dar una mano...
tengo un ranking hecho, y lo que quiero hacer, pero por mas que pienso y pienso no se me da la idea, es hacer que cuando el usuario de click en ranking, le lleve a la pagina ddel ranking y a su posicion...
nose como hacer para buscar su posicion en el ranking..

como sse podria hacer??

mil gracias ;)

saludos!
MC
__________________
Recuerda usar el highlight para mostrar código
mauricioblint.com
  #2 (permalink)  
Antiguo 27/09/2007, 09:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Re: Duda con Ranking---

Podrias detallar mas tu problema?, asi como la estructura de la base de datos, yo creo es simplemente buscar con un WHERE en tu consulta para que saques el registro donde le hiciste click.

Saludos.
  #3 (permalink)  
Antiguo 27/09/2007, 09:47
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 18 años
Puntos: 23
Re: Duda con Ranking---

Bueno, mira, es asi, yo con un select y demas, busco todos los registros y los ordeno por el campo votos...
muestro 15 registros por pagina,
y lo que quiero hacer, es que cuando el user entre al ranking, en ves de entrar a la primera pagina, le entre a la pagina en la que esta posicionado el, y marcarla con otro color...

se entendio mejor ahora??
gracias!
__________________
Recuerda usar el highlight para mostrar código
mauricioblint.com
  #4 (permalink)  
Antiguo 27/09/2007, 09:53
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Re: Duda con Ranking---

Tienes alguna forma de identificar al usuario?

Si asi es es sencillo solo tendrias que hacer un if cuando dibujas los resultados:
Código PHP:
if( $user->userID == $row['userID'] ) {
    
// lo pintamos de un color
} else {
    
// lo pintamos como los demas

Saludos.
  #5 (permalink)  
Antiguo 27/09/2007, 10:01
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 18 años
Puntos: 23
Re: Duda con Ranking---

sisi, lo de pintarlo es simple, lo que logro hacer es que me detecte la posicion de ranking en la que esta, y que de ahi me habra X pagina q es la que esta el user..
__________________
Recuerda usar el highlight para mostrar código
mauricioblint.com
  #6 (permalink)  
Antiguo 27/09/2007, 10:09
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 18 años
Puntos: 23
Re: Duda con Ranking---

Mira, te doy un ejemplo mas que concreto,
discukpa las molestias q te pueda ocacionas, sino es mucha molestia te queria pedir que entres a:

http://s4.travian.com/login.php

y te logues como
usuario: McBlink
pass: forofdw

y ahi vas a estadisticas, el circulo azul de la barra de menu horizontal...

vas a ver que te entra a tu posicion del ranking...

como puedo hacer eso..¿¿
__________________
Recuerda usar el highlight para mostrar código
mauricioblint.com
  #7 (permalink)  
Antiguo 27/09/2007, 10:33
 
Fecha de Ingreso: junio-2005
Mensajes: 33
Antigüedad: 19 años, 5 meses
Puntos: 0
Re: Duda con Ranking---

Hello McBlink,

Primero decirte q tiene una interfaz muy wapetona, y segundo una opción. Cuando hagas la consulta para ordenar por ranking, haz una búsqueda con un simple bucle y pillate la posición que le toca a ese usuario.

Divide el numero que representa la posición del usuario entre 15, coges el suelo del numero y si le sumas 1 al resultado, pues ya tienes el valor de la página donde estaría ese user. Y a imprimir la página. Ejemplo:

1. Ejecutas la consulta
2. Busca el user con un bucle del tipo (Ejem: Encontrado en la posición 48)
3. 48/15 = 3'2 -> 3 + 1 = 4, el user estará en la cuarta página.
4. Ejecutas la consulta otra vez y con el mysql_data_seek (si usas mysql, sino busca la equivalente) te colocas en el primer user de la página 4, y ya te queda imprimir los 15 user de esa pagina.

Creo q con eso rulará way
  #8 (permalink)  
Antiguo 27/09/2007, 10:34
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Re: Duda con Ranking---

Es sencillo, como te comento necesitas primero identificar al usuario, luego al dibujar tu tabla identificas su ranking ej: 3130, entonces si estas desplegando 100 rankings por pagina (ejemplo) haces una funcion que te reste el ranking y haces un select del 3100 al 3200 y cuando pases por el 3130 pintas la celda.

Saludos.
  #9 (permalink)  
Antiguo 27/09/2007, 15:50
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 18 años
Puntos: 23
Re: Duda con Ranking---

Gracias a los dos!!
todo eso que me dicen es lo que tenia pensado, ;)
el usuario, ya lo tengo identificado, por ID o lo que sea.. ahora bien, lo que no me sale y por mas que pienso no me sale es hacer la busqueda para ver en que posicion queda...

como haga esa busqueda??
una ves que la tenga, lo demas ya lo tengo...

saludos!!
MC
__________________
Recuerda usar el highlight para mostrar código
mauricioblint.com
  #10 (permalink)  
Antiguo 27/09/2007, 16:25
Avatar de andruqui  
Fecha de Ingreso: agosto-2007
Mensajes: 269
Antigüedad: 17 años, 3 meses
Puntos: 2
Re: Duda con Ranking---

facil:

Si mostras 10 por pagina queda asi
pag1 de 0 a 9
pag2 de 10 a 19

pag n 10*(n-1) a (10n-1)

luego con el numero del ranking de user es facil sabes en que pagina queda, entonces haces la consulta

Código PHP:
select from tabla limit inicio_paginatam_pagina 
Saludos
Andres
  #11 (permalink)  
Antiguo 27/09/2007, 16:30
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 18 años
Puntos: 23
Re: Duda con Ranking---

la verdad no te entendi laprimera parte, porque multiplicas eso?? o mejor dicho, porque numero lo multiplicas, si no lo sabes!

saludos y gracias!
MC
__________________
Recuerda usar el highlight para mostrar código
mauricioblint.com
  #12 (permalink)  
Antiguo 27/09/2007, 20:46
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 18 años
Puntos: 23
Re: Duda con Ranking---

Alguna idea de como hacerlo??
nsigo pensando y la verdad me esta volviendo locooo!!

saludos!
MC
__________________
Recuerda usar el highlight para mostrar código
mauricioblint.com
  #13 (permalink)  
Antiguo 28/09/2007, 19:16
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 18 años
Puntos: 23
Re: Duda con Ranking---

Buenas, nuevamente yo.. a alguno se le ocurre algo para hacerlo??
no doy todavia...

saludos y gracias!!
MC
__________________
Recuerda usar el highlight para mostrar código
mauricioblint.com
  #14 (permalink)  
Antiguo 29/09/2007, 03:26
 
Fecha de Ingreso: junio-2005
Mensajes: 33
Antigüedad: 19 años, 5 meses
Puntos: 0
Re: Duda con Ranking---

Wenas, q es lo q t falta? ya te lo hemos dicho de 3 formas distintas? Q es lo q no va bien?
  #15 (permalink)  
Antiguo 29/09/2007, 09:47
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 18 años
Puntos: 23
Re: Duda con Ranking---

Lo que me no se como hacer es el bucle para que me detecte en que posicion esta el usuario!! una ves con eso ya me las arreglo ;);)


como seria, yo hago la consulta con un simple SELECT ordenado por X campo en order descendente,,
de ahi como saco el usuario en que posicion esta de todas??


saludos!
MC
__________________
Recuerda usar el highlight para mostrar código
mauricioblint.com
  #16 (permalink)  
Antiguo 29/09/2007, 18:28
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Duda con Ranking---

¿Cómo es la estructura de tu tabla?
¿Cómo así determinas la posición en el ranking?

Un saludo,
  #17 (permalink)  
Antiguo 29/09/2007, 18:31
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 18 años
Puntos: 23
Re: Duda con Ranking---

La tabla tiene:

ID USUARIO VOTOS y demas que no vienen al caso..

para hacer la consulta para rankear, lo hago asi:

Código PHP:
$query "SELECT * FROM user order by votos desc "
luego hago los demas pasos y los muestro de 15 en 15. pagina con el DW...

saludos!
__________________
Recuerda usar el highlight para mostrar código
mauricioblint.com
  #18 (permalink)  
Antiguo 29/09/2007, 18:53
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Duda con Ranking---

Supongo que en usuario guardas el id de usuario, no?

Yo lo haria asi:

Código PHP:
//SABER CUANTOS VOTOS TIENE EL USUARIO
$q mysql_query("SELECT votos FROM user WHERE USUARIO=$id");
$d mysql_fetch_assoc($q);
$votos $d['votos'];
 
//Luego seleccionamos los usuarios en posicion anterior al usuario
$q1 mysql_query("SELECT votos FROM user WHERE votos<$votos ORDER BY votos DESC");
$n1 mysql_num_rows($q1);
 
//Determinamos la posicion actual del usuario:
$posicion $n1+1;
 
$inicio = ($n1-10 0) ? $n1-10 0;
$p_inicio $inicio+1;
 
//Y finalmente hacemos la consulta
$q2 mysql_query("SELECT * FROM user ORDER BY votos DESC LIMIT $inicio,20");
while(
$d2 mysql_fetch_assoc($q2)) {
    echo 
"Posicion $p_inicio ---- USUARIO: {$d2['usuario']} ({$d2['votos']} votos)<br />\n";
    
$p_inicio++;

Esto es lo que te pude armar, no se si funcione

Un saludo,
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 21:54.