Foros del Web » Programando para Internet » PHP »

Funcion retorna resultado adverso con operadores logicos

Estas en el tema de Funcion retorna resultado adverso con operadores logicos en el foro de PHP en Foros del Web. Hola todos! Tengo una funcion para determinar las condiciones de venta (credito o contado) y se supone que verifica si las variables $efectivo, $tarjeta y ...
  #1 (permalink)  
Antiguo 16/09/2012, 11:50
 
Fecha de Ingreso: septiembre-2012
Ubicación: Santo Domingo
Mensajes: 3
Antigüedad: 11 años, 7 meses
Puntos: 0
Funcion retorna resultado adverso con operadores logicos

Hola todos!

Tengo una funcion para determinar las condiciones de venta (credito o contado) y se supone que verifica si las variables $efectivo, $tarjeta y $cheque tienen algun valor, si lo tienen entonces la venta es de contado, si el valor de todos estos campos es cero, entonces es una venta a credito, el problema con mi funcion es que no me esta funcionando y la he revisado pero no veo que tiene de malo, podrian echarle un vistazo y decirme que estoy pasando por alto? Gracias!

Código PHP:

function condiciones($condiciones) {
if ( 
$efectivo != || $tarjeta != || $cheque != ) {
    
$condiciones "CONTADO";
    }
    else {
    
$condiciones "CREDITO";
        }
    return 
$condiciones;
}

$condicionVentas condiciones(); 
  #2 (permalink)  
Antiguo 16/09/2012, 11:53
 
Fecha de Ingreso: septiembre-2009
Mensajes: 210
Antigüedad: 14 años, 7 meses
Puntos: 19
Respuesta: Funcion retorna resultado adverso con operadores logicos

De entrada veo un pequeño error, es que al crear la función la defines con un parámetro llamado $condiciones, pero luego al llamarla abajo no defines ese parámetro.

Además, ¿dónde están definidas las variables efectivo, tarjeta y cheque?
  #3 (permalink)  
Antiguo 16/09/2012, 11:55
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 9 meses
Puntos: 2114
Respuesta: Funcion retorna resultado adverso con operadores logicos

¿De dónde vienen $efectivo, $tarjeta y $cheque?

¿No debería de ser function condiciones($efectivo,$tarjeta,$cheque)? ¿O ($efecto=0,....?
__________________
(:
  #4 (permalink)  
Antiguo 16/09/2012, 12:00
 
Fecha de Ingreso: septiembre-2012
Ubicación: Santo Domingo
Mensajes: 3
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Funcion retorna resultado adverso con operadores logicos

Gracias UEKI

Ante todo debo advertirlos que soy un novato tratando de aprender sobre programacion y mucho de lo que hago es guiandome de los ejemplos que voy encontrando.

Primero, asi estan definidas las variables (vienen de un formulario)

Código PHP:


$efectivo 
number_format($_POST['efectivo'],2);
$tarjeta number_format($_POST['tarjeta'],2);
$cheque number_format($_POST['cheque'],2);

function 
condiciones($condiciones) {
if ( 
$efectivo != || $tarjeta != || $cheque != ) {
    
$condiciones "CONTADO";
    }
    else {
    
$condiciones "CREDITO";
        }
    return 
$condiciones;
}

$condicionVentas condiciones(); 
En cuanto al llamado de la funcion, corrigeme, pues mi principal tranque era llevar el resultado de la funcion a una variable que luego se mostrara al imprimir la factura, o sea, que la factura imprima $condicionVentas (CONTADO o CREDITO)

Gracias nuevamente!
  #5 (permalink)  
Antiguo 16/09/2012, 12:14
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 9 meses
Puntos: 2114
Respuesta: Funcion retorna resultado adverso con operadores logicos

No le estás pasando nada a la función.

Prueba así:

Código PHP:
function condiciones($var1,$var2,$var3) { 
if ( 
$var1 !== || $var2 !== || $var3 !== ) { 
        
$condiciones "CONTADO"
    } 
    else { 
        
$condiciones "CREDITO"
    } 
    return 
$condiciones


$condicionVentas condiciones($efectivo,$tarjeta,$cheque); 
Puedes nombrar $var1, $var2 y var3 como quieras. Así te va a funcionar. Lo he puesto así para que vieses cómo funciona.
__________________
(:
  #6 (permalink)  
Antiguo 16/09/2012, 12:25
 
Fecha de Ingreso: mayo-2006
Mensajes: 475
Antigüedad: 18 años
Puntos: 58
Respuesta: Funcion retorna resultado adverso con operadores logicos

Claro es por el ámbito de las variables. También te sobra el parámetro de la función.

Código PHP:
Ver original
  1. <?php
  2. $efectivo = number_format($_POST['efectivo'],2);
  3. $tarjeta = number_format($_POST['tarjeta'],2);
  4. $cheque = number_format($_POST['cheque'],2);
  5.  
  6. function condiciones() {
  7.     global $efectivo,$tarjeta,$cheque;
  8.     if ( $efectivo != 0 || $tarjeta != 0 ||  $cheque != 0 ) {
  9.             $condiciones = "CONTADO";
  10.         }else {
  11.             $condiciones = "CREDITO";
  12.         }
  13.         return $condiciones;
  14.     }
  15.  
  16. $condicionVentas = condiciones();
  17. echo $condicionVentas;
  18. ?>
  #7 (permalink)  
Antiguo 16/09/2012, 12:47
 
Fecha de Ingreso: septiembre-2012
Ubicación: Santo Domingo
Mensajes: 3
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Funcion retorna resultado adverso con operadores logicos

Gracias a todos! Probando es que se sabe! Ambas soluciones funcionan bien.

Etiquetas: funcion, logicos, operadores, retorna, resultados, variables
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 23:46.