Foros del Web » Programando para Internet » PHP »

Ayuda con comparacion

Estas en el tema de Ayuda con comparacion en el foro de PHP en Foros del Web. Estimados: Tengo el siguiente problema, al tratar de hacer una comparación con un registro funciona bien el codigo pero al poner mas de uno siempre ...
  #1 (permalink)  
Antiguo 10/03/2009, 13:25
 
Fecha de Ingreso: abril-2008
Mensajes: 14
Antigüedad: 16 años, 1 mes
Puntos: 0
Ayuda con comparacion

Estimados:

Tengo el siguiente problema, al tratar de hacer una comparación con un registro funciona bien el codigo pero al poner mas de uno siempre me tira el javascript

este es el codigo que funciona

1.-
Código PHP:
$sql "select * from beneficios where idfam = '$idfam' and solicita='$solicita'";
$sql mysql_query($sql) or die(mysql_error());
if((
$row mysql_fetch_array($sql)>0) && ($solicita!="OTROS")){
include_once(
'consultad.php');
echo 
"<script type='text/javascript'>";
echo 
"alert ('MENSAJE DE ALERTA');";
echo 
"</script>";
}
else

hago el insert 
ESTE NO ME FUNCIONA EJECUTA EL JAVASCRIPT

2.-
Código PHP:
$sql "select * from beneficios where idfam = '$idfam' and solicita='$solicita'";
$sql mysql_query($sql) or die(mysql_error());
if((
$row mysql_fetch_array($sql)>0)  && (($solicita!="OTROS") || ($solicita!="ALIMENTOS"))){
include_once(
'consultad.php');
echo 
"<script type='text/javascript'>";
echo 
"alert ('MENSAJE DE ALERTA');";
echo 
"</script>";
}

else
hago el insert 
1.-el codigo compara el $idfam y $solicita, si ya esta el registro y es disitinto de 'OTROS', no deja insertar en la BD.

2.- este se supone que hace lo mismo, pero compara si el $idfam esta en la bd y si $solicita es distinto a 'OTROS' o 'ALIMENTOS' no ingresa a la bd, pero en el formulario si selecciono culesquiera de los dos me da la alerta si o si.

(Deberia no salir la alerta cuando es 'OTROS' O 'ALIMENTOS')

agradecido desde ya....


hasc
  #2 (permalink)  
Antiguo 10/03/2009, 13:36
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 6 meses
Puntos: 48
Respuesta: Ayuda con comparacion

Cuando es 'OTROS' es distinto a 'ALIMENTOS', asi que te queda false or true, que es true.

Tu lo que quieres es que sea distinto a OTROS Y a ALIMENTOS, no O.

PD: En estos casos lo que hay que hacer es revisar la tabla de la verdad de la operacion.
  #3 (permalink)  
Antiguo 10/03/2009, 13:45
 
Fecha de Ingreso: abril-2008
Mensajes: 14
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Ayuda con comparacion

Cita:
Iniciado por DarkJ Ver Mensaje
Cuando es 'OTROS' es distinto a 'ALIMENTOS', asi que te queda false or true, que es true.

Tu lo que quieres es que sea distinto a OTROS Y a ALIMENTOS, no O.

PD: En estos casos lo que hay que hacer es revisar la tabla de la verdad de la operacion.
No entiendo que quieres decir, me puedes ayudar porfa
  #4 (permalink)  
Antiguo 10/03/2009, 13:57
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 6 meses
Puntos: 48
Respuesta: Ayuda con comparacion

Código PHP:
Ver original
  1. (($solicita!="OTROS") && ($solicita!="ALIMENTOS"))

A | B | A or B
-----------------
V | V | V
V | F | V
F | V | V
F | F | F

El or solo es false cuando ambas partes son false. En tu caso, 'OTROS'!='OTROS' es false, pero 'OTROS'!='ALIMENTOS' es true. Y tal como esta, nunca van a ser false ambos y el or siempre va a ser true.

Sin embargo, con el and solo es necesario que uno de los 2 operandos sea false para resultar en false.
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:14.