Foros del Web » Programando para Internet » PHP »

Maximo resultado con otros campos

Estas en el tema de Maximo resultado con otros campos en el foro de PHP en Foros del Web. Buenas, verán tengo el siguiente código que lo utilizo para mostrar el valor maximo que hay en un campo. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código ejemplo: Ver original ...
  #1 (permalink)  
Antiguo 29/07/2009, 09:41
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 5 meses
Puntos: 74
Maximo resultado con otros campos

Buenas, verán tengo el siguiente código que lo utilizo para mostrar el valor maximo que hay en un campo.

Código ejemplo:
Ver original
  1. $sql= mysql_query("SELECT max(puntuacion) as maximo FROM usuarios", $conexion) or die(mysql_error());
  2. $rows=mysql_fetch_array($sql);
  3. $Valor=$rows["maximo"];
  4. echo number_format($Valor, 2, ',', ' ');

Funciona correctamente, el problema es que quiero sacar los datos restantes de ese usuario que tiene la puntuación máxima. Mi objetivo es sacar la id y el nick que tiene, pero no se como hacerlo.

¿Como he de realizar la consulta entonces?

Muchas gracias
  #2 (permalink)  
Antiguo 29/07/2009, 10:13
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 17 años, 10 meses
Puntos: 50
Respuesta: Maximo resultado con otros campos

guiese de este para hacer el suyo. N ose si sea la forma correcta de hacerlo pero funciona.

select * from blempresa where c_clientes=(select max(c_clientes) from blempresa)

Saludos
  #3 (permalink)  
Antiguo 29/07/2009, 11:15
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 5 meses
Puntos: 74
Respuesta: Maximo resultado con otros campos

Or yes ;)

Me ha funcionado perfecto. Me muestra la puntuación maxima y el nick del user.

Asi ha quedado:


Código ejemplo:
Ver original
  1. $sql= mysql_query("select * from usuarios where puntuacion=(select max(puntuacion) from usuarios)", $conexion) or die(mysql_error());
  2. rows=mysql_fetch_array($sql);
  3. $Valor=$rows["puntuacion"];
  4. $Valor2=$rows["nick"];
  5. echo number_format($Valor, 2, ',', ' ');
  6. echo $Valor2;

Muchas gracias
  #4 (permalink)  
Antiguo 30/07/2009, 03:31
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 5 meses
Puntos: 74
Respuesta: Maximo resultado con otros campos

Buenas de nuevo,

Ahora estoy intentando hacer que me muestre los 10 usuarios que tienen más puntos, pero no se como podria ser.

He pensado en LIMIT XD, pero no, no tiene pinta de ser. Por el foro no sale nada al respecto.

Muchas gracias
  #5 (permalink)  
Antiguo 30/07/2009, 05:27
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 6 meses
Puntos: 49
Respuesta: Maximo resultado con otros campos

pues si es por hay la cosa solo debes hacer un ORDER BY por puntuacion que te ordene todos los usuarios de mayor a menos puntuación y le pones un limit 10....

espero se entienda...
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #6 (permalink)  
Antiguo 01/08/2009, 08:09
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 5 meses
Puntos: 74
Respuesta: Maximo resultado con otros campos

Buenas,

Pues he probado de las dos maneras:
Código 1:
Ver original
  1. $sql= mysql_query("select * from usuarios where puntuacion=(select max(puntuacion) from usuarios ORDER BY puntuacion LIMIT 10)", $conexion) or die(mysql_error());

y asi;
Código 2:
Ver original
  1. $sql= mysql_query("select * from usuarios where puntuacion=(select max(puntuacion) from usuarios) ORDER BY puntuacion LIMIT 10", $conexion) or die(mysql_error());

Pero no funciona, no muestra nada. O sea me sigue mostrando el usuario que tiene la máxima puntuación.

Muchas gracias
  #7 (permalink)  
Antiguo 01/08/2009, 09:30
 
Fecha de Ingreso: enero-2009
Mensajes: 408
Antigüedad: 15 años, 2 meses
Puntos: 14
Respuesta: Maximo resultado con otros campos

Cita:
Iniciado por DeFFeR Ver Mensaje
Buenas,

Pues he probado de las dos maneras:
Código 1:
Ver original
  1. $sql= mysql_query("select * from usuarios where puntuacion=(select max(puntuacion) from usuarios ORDER BY puntuacion LIMIT 10)", $conexion) or die(mysql_error());

y asi;
Código 2:
Ver original
  1. $sql= mysql_query("select * from usuarios where puntuacion=(select max(puntuacion) from usuarios) ORDER BY puntuacion LIMIT 10", $conexion) or die(mysql_error());

Pero no funciona, no muestra nada. O sea me sigue mostrando el usuario que tiene la máxima puntuación.

Muchas gracias
Hola , la consulta quedaria asi:

Código php:
Ver original
  1. $sql= mysql_query("select * from usuarios where puntuacion=(select max(puntuacion) from usuarios) ORDER BY puntuacion DESC LIMIT 10", $conexion) or die(mysql_error());

o tambien puedes hacerla creciente con ASC , depende lo que necesites.

Saludos!
  #8 (permalink)  
Antiguo 01/08/2009, 10:16
 
Fecha de Ingreso: julio-2009
Mensajes: 72
Antigüedad: 14 años, 8 meses
Puntos: 16
Respuesta: Maximo resultado con otros campos

Código PHP:
$sqlmysql_query("select * from usuarios ORDER BY puntuacion DESC LIMIT 10"$conexion) or die(mysql_error()); 
  #9 (permalink)  
Antiguo 02/08/2009, 04:05
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 5 meses
Puntos: 74
Respuesta: Maximo resultado con otros campos

Buenas, ante todo gracias por responder, pero no me ha funcionado.

De hecho jonatanc, el codigo es exactamente el mismo que he puesto yo, con el único añadido de que tiene DESC y no creo que eso influya.
Sino funciona asi:
Código 1:
Ver original
  1. $sql= mysql_query("select * from usuarios where puntuacion=(select max(puntuacion) from usuarios) ORDER BY puntuacion  LIMIT 10", $conexion) or die(mysql_error());
No creo que añadiendo DESC funcione
Código 2:
Ver original
  1. $sql= mysql_query("select * from usuarios where puntuacion=(select max(puntuacion) from usuarios) ORDER BY puntuacion DESC LIMIT 10", $conexion) or die(mysql_error());

Aun asi lo he probado, pero que nada.

El codigo completo que tengo es:

Código completo:
Ver original
  1. $sql= mysql_query("select * from usuarios where puntuacion=(select max(puntuacion) from usuarios) ORDER BY puntuacion DESC LIMIT 10", $conexion) or die(mysql_error());
  2.  
  3.       rows=mysql_fetch_array($sql);
  4.    
  5.       $Valor=$rows["puntuacion"];
  6.    
  7.       $Valor2=$rows["nick"];
  8.    
  9.       echo number_format($Valor, 2, ',', ' ');
  10.  
  11.       echo $Valor2;

La cuestion es que no me tira ningun error ni nada, sencillamente no me los muestra. Solo muestra uno, que es el que tiene la maxima puntuacion.

Muchas gracias
  #10 (permalink)  
Antiguo 02/08/2009, 06:53
 
Fecha de Ingreso: julio-2009
Mensajes: 72
Antigüedad: 14 años, 8 meses
Puntos: 16
Respuesta: Maximo resultado con otros campos

probaste con este...

$sql= mysql_query("select * from usuarios ORDER BY puntuacion DESC LIMIT 10", $conexion) or die(mysql_error());
  #11 (permalink)  
Antiguo 04/08/2009, 03:59
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 5 meses
Puntos: 74
Respuesta: Maximo resultado con otros campos

Buenas,

Pochos, esta consulta:
Código 1:
Ver original
  1. $sql= mysql_query("select * from usuarios ORDER BY puntuacion DESC LIMIT 10", $conexion) or die(mysql_error());

Me muestra el usuario que tiene la maxima puntuación, pero solo me muestra UNO.

Yo pretendo que me muestra los 10 usuarios que tienen la mayor puntuacion, pero no se porque, pero del LIMIT 10. no hace caso.

Llevo ya dias con esto y no lo he consguido solucionar


Muchas gracias
  #12 (permalink)  
Antiguo 04/08/2009, 11:43
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 17 años, 10 meses
Puntos: 50
Respuesta: Maximo resultado con otros campos

Usted no tiene eso metido deontro de un while, se ahce asi

$var = mysql_query("select * from ac_paginacontenido order by i_cod_plantilla desc limit 10");
while ($varcontiene = mysql_fetch_array($var))
{
//Aca muestra los datos
}

Última edición por helacer; 04/08/2009 a las 12:25
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 15:50.