Foros del Web » Programando para Internet » PHP »

Problema con restar stock.

Estas en el tema de Problema con restar stock. en el foro de PHP en Foros del Web. Tengo el siguiente problema al actualizar datos, en un db mysql pasa los siguiente suponggamos que tengo en stock=10 en la base y en elformulario ...
  #1 (permalink)  
Antiguo 10/04/2010, 08:35
 
Fecha de Ingreso: noviembre-2009
Mensajes: 113
Antigüedad: 14 años, 5 meses
Puntos: 0
Problema con restar stock.

Tengo el siguiente problema al actualizar datos, en un db mysql pasa los siguiente suponggamos que tengo en stock=10 en la base
y en elformulario pongo canidad 3, al correr el script deberia queda en stock 7, pero me queda 4, es como que lo que yo envio se duplica pero no se porque.




este es el codigo

Código PHP:
Ver original
  1. $sql = "UPDATE conceptos SET stock = stock-'".$_POST["cantidad"]."' WHERE (codigo='".$_POST['codigo']."')";
  #2 (permalink)  
Antiguo 10/04/2010, 08:36
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Problema con restar stock.

En esa linea no parece haber error, postea el codigo completo -o-
  #3 (permalink)  
Antiguo 10/04/2010, 08:41
 
Fecha de Ingreso: noviembre-2009
Mensajes: 113
Antigüedad: 14 años, 5 meses
Puntos: 0
Código PHP:
Ver original
  1. <?php
  2. ////INSERTA PRODUCTOS EN LA BOLETA//////////////////////////
  3. //error_reporting(E_ERROR);
  4. include("conectar.php");
  5. $state = false;
  6. if ($_POST['action'] == "add2") {
  7. $conexion = $conectar;
  8. mysql_select_db("facturacion", $conexion);
  9.    
  10. //DESIGNAMOS LAS TABLAS QUE VAMOS A INSERTAR
  11.  
  12.  
  13. //calculamos el total del producto que estamos agregando.
  14. $total= $_POST["importe"] * $_POST["cantidad"];
  15.  
  16. // Descontamos el Stock.
  17. $sql = "UPDATE conceptos SET stock = (stock-'".$_POST["cantidad"]."') WHERE (codigo='".$_POST['codigo']."')";  
  18. $res2 = mysql_query($sql, $conexion);
  19.  
  20. /// insertamos los detalles de boletas.
  21. $que = "INSERT INTO detalleboletas (idboleta, concepto, cantidad, preciounit, importe) ";
  22. $que.= "VALUES ('".$_SESSION["idboleta"]."', '".$_POST['codigo']."', '".$_POST['cantidad']."', '".$_POST['importe']."', '$total' ) ";
  23.  
  24. $res = mysql_query($que, $conexion);
  25.  
  26.  
  27.  
  28. $state = true;
  29. }
  30. ?>

puede ser x que yo llamo al formulario de nuevo o sea pongo enviar, y se vuelve a cargar la pagina, pero si eso ocurriera daria problemas porque me insertaria tambien mas conceptos duplicados, pero el problema me da solo con el stock.

Última edición por GatorV; 10/04/2010 a las 11:00
  #4 (permalink)  
Antiguo 10/04/2010, 08:45
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Problema con restar stock.

Cita:
Iniciado por Leogl Ver Mensaje
es como que lo que yo envio se duplica pero no se porque.
Cita:
Iniciado por Leogl Ver Mensaje
Código PHP:
Ver original
  1. <?php
  2.  
  3. // Descontamos el Stock.
  4. $sql = "UPDATE conceptos SET stock = (stock-'".$_POST["cantidad"]."') WHERE (codigo='".$_POST['codigo']."')";  
  5. $res2 = mysql_query($sql, $conexion);
  6. ?>
  #5 (permalink)  
Antiguo 10/04/2010, 08:48
 
Fecha de Ingreso: noviembre-2009
Mensajes: 113
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Problema con restar stock.

Aparentemente es el problem es que la accion del formulario es volver a cargar la misma pagina, o sea se llama asi mismo, porque probe poniendo un valor fijo que reste 1, y me resta siempre el doble, lo raro es que no me da poblema con el resto del codigo qeu hace el insert, como puedo solucionar eso?
  #6 (permalink)  
Antiguo 10/04/2010, 08:52
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Problema con restar stock.

Aun no lo ves? a ver asi
Cita:
Iniciado por Leogl Ver Mensaje
se duplica.
Cita:
Iniciado por Leogl Ver Mensaje
Código PHP:
Ver original
  1. <?php
  2. $res2 = mysql_query($sql, $conexion);
  3. ?>
  #7 (permalink)  
Antiguo 10/04/2010, 08:55
 
Fecha de Ingreso: noviembre-2009
Mensajes: 113
Antigüedad: 14 años, 5 meses
Puntos: 0
gracias aparentemente funciona, lo puse como indicaste y funciono, gracias!!!!

es que anoche sali, jajaja corria dos veces,

Última edición por GatorV; 10/04/2010 a las 10:59

Etiquetas: restar, stock
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 10:23.