Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/11/2011, 06:48
tumbero_x
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 557
Antigüedad: 13 años, 7 meses
Puntos: 4
Codigo demasiado largo?

Hola amigos!!!
con la poca experiencia que tengo programando en php
logre hacer un codigo , para ingresar compras realizadas por un usuario
varia segun la moneda en que este registrado el articulo y en que se registro la compra
funciona bien, pero para mi es demasiado largo y seguramente estoy haciendo algo mal (no me tengo mucha confianza jajaja) o algo demas
la pregunta es, ustedes me podrian decir si se puede simplificar o eliminar algo?
Saludos y muchas gracias!!!
Código PHP:
Ver original
  1. if ($compra_arti_id) {
  2.     for ($i = 0; $i < sizeof($compra_arti_id); $i++) {
  3.         $sql1 = "SELECT A.arti_id,A.moneda,M.mone_id,M.moneda_venta,M.moneda_incremento FROM articulos A INNER JOIN monedas M ON A.moneda=M.mone_id WHERE A.arti_id='" . $compra_arti_id[$i] . "'";
  4.         $res1 = mysql_query($sql1, Conectar::con()) or die(mysql_error());
  5.  
  6.         while ($row = mysql_fetch_array($res1)) {
  7.             $fi = $row['moneda_venta'] + $row['moneda_incremento'];
  8.         }
  9.         $final = $compra_precio[$i] * $compra_coti / $fi;
  10.  
  11.         $sql2 = "UPDATE  articulos SET arti_costo       = '" . $final . "',   ";
  12.         $sql2 .= "gar_art   = '" . $compra_gar_art[$i] . "', ";
  13.         $sql2 .= "proce     = '" . $compra_proce[$i] . "', ";
  14.  
  15.         switch ($stk_suc[$i]) {
  16.             case 1:
  17.                 $sql2 .= "stk1 = stk1 + '" . $compra_cantidad[$i] . "' ";
  18.                 break;
  19.             case 2:
  20.                 $sql2 .= "stk2 = stk2 + '" . $compra_cantidad[$i] . "' ";
  21.                 break;
  22.             case 3:
  23.                 $sql2 .= "stk3 = stk3 + '" . $compra_cantidad[$i] . "' ";
  24.                 break;
  25.             case 4:
  26.                 $sql2 .= "stk4 = stk4 + '" . $compra_cantidad[$i] . "' ";
  27.                 break;
  28.             case 5:
  29.                 $sql2 .= "stk5 = stk5 + '" . $compra_cantidad[$i] . "' ";
  30.                 break;
  31.             case 6:
  32.                 $sql2 .= "stk6 = stk6 + '" . $compra_cantidad[$i] . "' ";
  33.                 break;
  34.             case 7:
  35.                 $sql2 .= "stk7 = stk7 + '" . $compra_cantidad[$i] . "' ";
  36.                 break;
  37.             case 8:
  38.                 $sql2 .= "stk8 = stk8 + '" . $compra_cantidad[$i] . "' ";
  39.                 break;
  40.             case 9:
  41.                 $sql2 .= "stk9 = stk9 + '" . $compra_cantidad[$i] . "' ";
  42.                 break;
  43.             case 10:
  44.                 $sql2 .= "stk10 = stk10 + '" . $compra_cantidad[$i] . "' ";
  45.                 break;
  46.         }
  47.         $sql2 .= " WHERE arti_id='" . $compra_arti_id[$i] . "'";
  48.  
  49.  
  50.         $res2 = mysql_query($sql2, Conectar::con()) or die(mysql_error());
  51.     }
  52. }
  53.  
  54.  
  55. $sql4 = "SELECT P.cuenta_cor,P.proveedor_id,M.mone_id,M.moneda_venta,M.moneda_incremento FROM proveedores P INNER JOIN monedas M ON P.cuenta_cor=M.mone_id WHERE P.proveedor_id='" . $compra_cod_prov . "'";
  56. $res4 = mysql_query($sql4, Conectar::con()) or die(mysql_error());
  57. while ($fila = mysql_fetch_array($res4)) {
  58.     $final_pro = $fila['moneda_venta'] + $fila['moneda_incremento'];
  59. }
  60. $final_total = bcmul($compra_total, $compra_coti, 2);
  61. $tf = bcdiv($final_total, $final_pro, 2);
  62.  
  63.  
  64.  
  65. $sql3 = "UPDATE proveedores SET prov_saldo = prov_saldo + $tf  WHERE proveedor_id='" . $compra_cod_prov . "'";
  66. $res3 = mysql_query($sql3, Conectar::con()) or die(mysql_error());
  67.  
  68.  
  69. @ $compra_arti_id = implode('|', $compra_arti_id);
  70. @ $compra_proce = implode('|', $compra_proce);
  71. @ $compra_gar_art = implode('|', $compra_gar_art);
  72. @ $stk_suc = implode('|', $stk_suc);
  73. @ $compra_cantidad = implode('|', $compra_cantidad);
  74. @ $compra_precio = implode('|', $compra_precio);
  75. @ $compra_iva = implode('|', $compra_iva);
  76. @ $tran_id = implode('|', $tran_id);
  77. @ $costo_tran = implode('|', $costo_tran);
  78. @ $iva_tran = implode('|', $iva_tran);
  79. @ $impuesto2_id = implode('|', $impuesto2_id);
  80. @ $costo_imp = implode('|', $costo_imp);
  81. @ $des_id = implode('|', $des_id);
  82. @ $costo_des = implode('|', $costo_des);
  83.  
  84.  
  85.  
  86.  
  87. $sql = "INSERT INTO compras VALUES((SELECT max(c.compra_id) + 1 FROM compras c),'$compra_cod_prov','$compra_num_suc','$compra_num_com','$compra_coti','$compra_moneda','$compra_arti_id','$compra_proce','$compra_gar_art','$stk_suc','$compra_cantidad','$compra_precio','$compra_iva','$tran_id','$costo_tran','$iva_tran','$impuesto2_id','$costo_imp','$des_id','$costo_des','$compra_total','$compra_usuario',now(),now(),'0','0','$tf','$compra_clase','$compra_ob','Fc','$tf')";
  88. $res = mysql_query($sql, Conectar::con()) or die(mysql_error());
  89.  
  90.  
  91.  
  92.  
  93.  
  94. echo $compra_num_suc . "-" . $compra_num_com;