Foros del Web » Programando para Internet » PHP »

If dentro de if y condicion

Estas en el tema de If dentro de if y condicion en el foro de PHP en Foros del Web. Hola estimados amigos, una vez mas aqui molestandoles, como siempre, aun asi espero que me puedan ayudar por favor. Mi problema es este, he terminado ...
  #1 (permalink)  
Antiguo 19/12/2010, 19:01
 
Fecha de Ingreso: marzo-2006
Mensajes: 36
Antigüedad: 18 años, 1 mes
Puntos: 0
If dentro de if y condicion

Hola estimados amigos, una vez mas aqui molestandoles, como siempre, aun asi espero que me puedan ayudar por favor.

Mi problema es este, he terminado de armar una pagina que lleva cobros y pagos, pero resulta que tambien quiero que se pueda cobrar por partes, es decir me puedan pagar con cuotas. Para esto tengo tambien en mi base de datos precios ce compra y de venta para al final poder obtener un ingreso liquido.

Hasta alli todo bien, el prbolemas comienza cuando por ejemplo si estoy vendiendo un producto a 150 pero lo compre a 100 y me dan en parte de pago, por ejempo 120 esto hace que la celda donde esta mi precio de compra se ponga a -20(y queda una deuda de 30 conmigo). Eso para mi no es problema pues se maneja con formulas simples que aprendi con uds, pero si la sgunda cuota que me da es por ejemplo 20 y yo ingreso ese +20 en la web entonces el -20 que tenia en mi precio de compra se hace 0 y eso es lo que me hace sufrir tengo 3 horas entado frente al pc. Lo que me gustaria es que el negativo se siga incrementando es decir - 20 + 20 = -40, si si se que matematicamente no es posible por eso desarrolle esto:

Pero quiero que me ayuden ya que hasta ahora no he hecho if dentro de if como condicionante:
Código PHP:
Ver original
  1. if ($accion=="insertar") {
  2.     $importe=$_POST["Rimporte"];
  3.     $negativo=$importe*-1;
  4. *******************************************
  5.     $gasto=$_POST["gasto"];
  6.  
  7.     if ($gasto>=0)
  8.             {
  9.             $gasto=$gasto-$importe;
  10.             }  
  11.  
  12.     if ($gasto<0)
  13.             {
  14.             $gasto=$gasto+$negativo;
  15.             }  
  16. ********************************************
  17.     $codcliente=$_POST["codcliente"];
  18.     $codfactura=$_POST["codfactura"];
  19.     $formapago=$_POST["AcboFP"];
  20.     $numdocumento=$_POST["anumdocumento"];
  21.     $observaciones=$_POST["observaciones"];
  22.     //$estado=$_POST["cboEstados"];
  23.     $fechacobro=$_POST["fechacobro"];
  24.     if ($fechacobro<>"") { $fechacobro=explota($fechacobro); }
  25.  
  26.     $sel_insertar="INSERT INTO cobros       (id,codfactura,codcliente,importe,codformapago,numdocumento,fechacobro,observaciones,gasto) VALUES
  27. ('','$codfactura','$codcliente','$importe','$formapago','$numdocumento','$fechacobro','$observaciones','$gasto')";

Mi duda esta en la parte que puse entre *. Esta bien ¿o existe alguna mejor idea? Bueno espero me den una mano por favor.

Muchas gracias de antemano.
  #2 (permalink)  
Antiguo 19/12/2010, 19:43
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: If dentro de if y condicion

No entiendo en absoluto la lógica de tu sistema. Pero creo que eso es lo de menos y que sí te puedo ayudar.

Enfocándome sólo en el bloque entre asteriscos, y asumiendo que el script funciona ya como esperas, y que sólo deseas una optimización para evitar ese if dentro de otro if...

Si $gasto es positivo ($gasto>=0), le restas $importe; y si $gasto es negativo ($gasto<0), le sumas $negativo, que no es más que el negativo de $importe, por lo que sería el equivalente de restarle $importe. En ambos casos finalmente el resultado es el mismo...

Entonces, no bastaría con restar $importe de $gasto en ambos casos, y por lo tanto, obviar el if y colocar directamente la sentencia?

Saludos,

Etiquetas: Ninguno
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 20:17.