Foros del Web » Programando para Internet » PHP »

Comparar tres valores

Estas en el tema de Comparar tres valores en el foro de PHP en Foros del Web. Hola me gustaría saber como puedo comparar tres valores que contienes números para saber cual es mayor $caso1= 4; $caso2= 8; $caso3= 10; como puedo ...
  #1 (permalink)  
Antiguo 02/02/2005, 15:59
Avatar de ostrasjo  
Fecha de Ingreso: diciembre-2004
Mensajes: 165
Antigüedad: 13 años
Puntos: 0
Comparar tres valores

Hola me gustaría saber como puedo comparar tres valores que contienes números para saber cual es mayor

$caso1= 4;
$caso2= 8;
$caso3= 10;

como puedo comparar esos datos para que me diga cual es mayor?
Gracias y te debo una.
  #2 (permalink)  
Antiguo 02/02/2005, 16:28
Avatar de baklao  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Ana - Isla de Margarita
Mensajes: 482
Antigüedad: 13 años
Puntos: 0
Hola que tal puedes usar 3 condiciones para saber cual de los 3 casos es el mayor.
por ejemplo

Código PHP:
if (($caso1>$caso2) and ($caso1>$caso3))
{
//ejecuto una accion
}
if ((
$caso2>$caso1) and ($caso2>$caso3))
{
//ejecuto una accion
}
if ((
$caso3>$caso1) and ($caso3>$caso2))
{
//ejecuto una accion

Es lo que se me ocurre en estos momentos debe haber algo mas optimo si alguien quiere aportar algo mas bienvenido sea.

Suerte y Salu2.

Bye
__________________
Atte. Mohamed :aplauso:
  #3 (permalink)  
Antiguo 03/02/2005, 07:31
Avatar de ostrasjo  
Fecha de Ingreso: diciembre-2004
Mensajes: 165
Antigüedad: 13 años
Puntos: 0
Yo escribí un mensaje en el foro de bases de datos para extraer directamente el numero mayor de un campo de la tabla pero nadie me contesto. Se ve que no se puede hacer.
Tambien había pensado como tu para hacerlo pero preguntaba si había alguna manera mejor para hacer esto.

Gracias baklao. Un saludo.
  #4 (permalink)  
Antiguo 03/02/2005, 07:53
Avatar de baklao  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Ana - Isla de Margarita
Mensajes: 482
Antigüedad: 13 años
Puntos: 0
Si viene de una base de datos si no me equivoco lo puedes hacer de esta manera:
SELECT MAX(campo_de_tu_tabla) FROM tabla WHERE lo que vayas a filtrar de esta manera te va a sacar el maximo valor de tu base de datos.

Suerte y Salu2.

Bye
__________________
Atte. Mohamed :aplauso:
  #5 (permalink)  
Antiguo 03/02/2005, 07:56
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Lo que necesitas (para hacerlo en PHP), es una funcion matematica. Y en www.php.net/math tienes la lista de funciones matematicas de PHP. Y alli encuentras max().

saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #6 (permalink)  
Antiguo 03/02/2005, 10:02
Avatar de ostrasjo  
Fecha de Ingreso: diciembre-2004
Mensajes: 165
Antigüedad: 13 años
Puntos: 0
Gracias baklao pero lo malo es que mi tabla esta asi mas o menos

usuario ataques robos hechizos
1 30 40 30

select(quiero que me compare ataques, robos y hechizos where usuario='1')

y que me diga cual es el mayor de los tres para yo despues hacer una funcion que me diga que predisposicion tiene el personaje,en este caso sería 'Ladron' ya que lo que mas valor tiene es el campo 'robos'.

Un saludo y espero haberme explicado bien.
  #7 (permalink)  
Antiguo 03/02/2005, 10:17
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 15 años, 4 meses
Puntos: 8
En la SQL y dentro de MAX() vas separando esos campos con comas y despues WHERE usuario = "1"

Saludos
  #8 (permalink)  
Antiguo 03/02/2005, 10:33
Avatar de ostrasjo  
Fecha de Ingreso: diciembre-2004
Mensajes: 165
Antigüedad: 13 años
Puntos: 0
Voy a probar

Gracias a los tres un saludo.
  #9 (permalink)  
Antiguo 03/02/2005, 15:33
Avatar de ostrasjo  
Fecha de Ingreso: diciembre-2004
Mensajes: 165
Antigüedad: 13 años
Puntos: 0
No me funciona, me da error. Voy a ver si encuentro algo de select max() por ahi.
Este es mi código
Código PHP:
$select mysql_query("SELECT MAX(guerrero,ladron,mago,mercader) FROM clase WHERE id='1'"); 
Gracias de todos modos
  #10 (permalink)  
Antiguo 03/02/2005, 15:47
Avatar de baklao  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Ana - Isla de Margarita
Mensajes: 482
Antigüedad: 13 años
Puntos: 0
Hola que tal intentalo asi ya como lo estas poniendo no funciona:

Código PHP:
$select mysql_query("SELECT MAX(guerrero) as G1,MAX(ladron) as L1,MAX(mago) as M1,MAX(mercader) as M2 FROM clase WHERE id='1'"); 
// Las variables G1, L1, M1 y M2 se le asignan los valores maximos de cada campo 
Espero que te sirva.

Suerte y Salu2.

Bye
__________________
Atte. Mohamed :aplauso:
  #11 (permalink)  
Antiguo 03/02/2005, 16:55
Avatar de ostrasjo  
Fecha de Ingreso: diciembre-2004
Mensajes: 165
Antigüedad: 13 años
Puntos: 0
Ya funciona, o por lo menos no me da el error pro he estado buscando por internet como plasmar las variables G1... y no se como

Pongo echo "$G1" y no me devuelve nada.

Como debería hacerlo?

Perdona mi ignorancia, gracias.
  #12 (permalink)  
Antiguo 03/02/2005, 17:10
Avatar de ostrasjo  
Fecha de Ingreso: diciembre-2004
Mensajes: 165
Antigüedad: 13 años
Puntos: 0
Ha vale,

Código PHP:
$guerrero $row["G1"];
echo 
$guerrero
Pero es lo mismo que si hubiera escrito
Código PHP:
$select mysql_query("select * from clase where id='1'");
$row mysql_fetch_array($select);
$guerrero $row["guerrero"];
echo 
$guerrero
Yo lo que quiero esque solo me extraiga el dato mas alto entre esas cuatro columnas...

muaaaa estoy empezando a pensar que no se puede. Mierda
  #13 (permalink)  
Antiguo 03/02/2005, 17:53
Avatar de ostrasjo  
Fecha de Ingreso: diciembre-2004
Mensajes: 165
Antigüedad: 13 años
Puntos: 0
Diooos a final algo he sacado
Código PHP:
//////////////////////////////////// oficio
$select mysql_query("SELECT * FROM oficios WHERE id='$mid'");
$row mysql_fetch_array($select);
    
$guerrero $row["guerrero"];
    
$ladron $row["ladron"];
    
$mago $row["mago"];
    
$mercader $row["mercader"];
if((
$guerrero $ladron) & ($guerrero $mago) & ($guerrero $mercader)){
$oficio "Guerrero";

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 22:44.