Foros del Web » Programando para Internet » PHP »

Sistema de rank

Estas en el tema de Sistema de rank en el foro de PHP en Foros del Web. Hola, Trato de hacer un sistema de ranking en mi web, pero no me lo hace bien. Este es mi codigo: Código PHP: <?php if(!isset( ...
  #1 (permalink)  
Antiguo 11/01/2009, 19:41
Avatar de pato12  
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 16 años, 6 meses
Puntos: 101
Sistema de rank

Hola,
Trato de hacer un sistema de ranking en mi web, pero no me lo hace bien.
Este es mi codigo:
Código PHP:
<?php
if(!isset($_SESSION['usuario'])){
ir("index.php?id=login&next=".nextUrl());
exit;
}
$user=$_SESSION['usuario'];
$data=usuario($user);
$datTg=empty($_GET['dat'])?'level':$_GET['dat'];
$arrayRank=array('level','oro','ataque','defensa','vida');
echo 
'<div class="info-title">Ranking | <a href="index.php?id=rank&dat=level">Nivel</a> | <a href="index.php?id=rank&dat=oro">Oro</a> | <a href="index.php?id=rank&dat=ataque">Ataque</a> | <a href="index.php?id=rank&dat=defensa">Defensa</a> | <a href="index.php?id=rank&dat=vida">Vida</a></div>';
if(
in_array($datTg,$arrayRank)){
echo 
'<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="4%" bgcolor="#000000">#</td>
    <td width="17%" bgcolor="#000000">Usuario</td>
    <td width="14%" bgcolor="'
.($datTg=='level'?'#171717':'#000000').'">Nivel</td>
    <td width="17%" bgcolor="'
.($datTg=='ataque'?'#171717':'#000000').'">Ataque</td>
    <td width="23%" bgcolor="'
.($datTg=='defensa'?'#171717':'#000000').'">Defensa</td>
    <td width="12%" bgcolor="'
.($datTg=='vida'?'#171717':'#000000').'">Vida</td>
    <td width="13%" bgcolor="'
.($datTg=='oro'?'#171717':'#000000').'">Oro</td>  </tr>';
$rank=1;
$sql='SELECT * FROM user ORDER BY '.$datTg.' DESC LIMIT 0,20';
$Sqll mysql_query($sql) or die(mysql_error());
while(
$datmysql_fetch_array($Sqll)){
echo 
'<tr>
    <td width="4%">'
.$rank.'</td>
    <td width="17%">'
.$dat['usuario'].'</td>
    <td width="18%"'
.($datTg=='level'?' bgcolor="#171717 "':'').'>'.$dat['level'].'</td>
    <td width="17%"'
.($datTg=='ataque'?' bgcolor="#171717 "':'').'>'.$dat['ataque'].'</td>
    <td width="23%"'
.($datTg=='defensa'?' bgcolor="#171717 "':'').'>'.$dat['defensa'].'</td>
    <td width="12%"'
.($datTg=='vida'?' bgcolor="#171717 "':'').'>'.$dat['vida'].'</td>
    <td width="13%"'
.($datTg=='oro'?' bgcolor="#171717 "':'').'>'.$dat['oro'].'</td>
    </tr>'
;
    
$rank++;
}
echo 
'</table>'.$sql;
}else{
echo 
"<div class=\"error\">ERROR!</div>";
}
?>
Si el usuario tiene menos ataque que el otro, melo pone primero.
Gracias
Salu2
__________________
Half Music - www.halfmusic.com
  #2 (permalink)  
Antiguo 11/01/2009, 21:47
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Sistema de rank

Haz probado la consulta en algun gestor de BDD para que veas como te esta regresando los resultados?

Saludos
  #3 (permalink)  
Antiguo 11/01/2009, 21:50
Avatar de pato12  
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 16 años, 6 meses
Puntos: 101
Respuesta: Sistema de rank

Hola,
Si lo e probado en phpmyadmin y me muestra igual que en codigo.
¿Que puede ser?
Gracias
Salu2
__________________
Half Music - www.halfmusic.com
  #4 (permalink)  
Antiguo 11/01/2009, 22:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Sistema de rank

Puede ser que el tipo de campo sea VARCHAR o Texto, por lo que eso afecta, cambia el tipo de campo sea un entero.

Saludos
  #5 (permalink)  
Antiguo 11/01/2009, 22:05
Avatar de pato12  
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 16 años, 6 meses
Puntos: 101
Respuesta: Sistema de rank

Hola,
Los campos eran VARCHAR y los cambie a INT, y ahora si anda.
Muchas gracias GatorV
Salu2
__________________
Half Music - www.halfmusic.com
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 03:54.