Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Como hacer que una variable reste valores de una tabla

Estas en el tema de Como hacer que una variable reste valores de una tabla en el foro de PHP en Foros del Web. Buenos días compañeros los vuelvo a molestar quisiera que alguien me ayudara tengo una tabla venta una compras y otra existencias entonces cuando hago una ...
  #1 (permalink)  
Antiguo 05/07/2014, 14:08
 
Fecha de Ingreso: agosto-2013
Ubicación: Guatemala
Mensajes: 137
Antigüedad: 10 años, 7 meses
Puntos: 4
Pregunta Como hacer que una variable reste valores de una tabla

Buenos días compañeros los vuelvo a molestar quisiera que alguien me ayudara tengo una tabla venta una compras y otra existencias entonces cuando hago una compra se guarda en la tabla existencias, pero cuando realizo una venta quisiera que me hiciera lo siguiente EJ

Código PHP:
$id=$_POST['id'];
$fecha=$_POST['fecha']; //supongamos que la fecha es 2014-07-05
$cantidad=$_POST['cantidad']; //Supongamos que se requieren 30

$sql=$con->query("SELECT cantidad, precio FROM existencias WHERE idproducto='$id' AND fecha=<'$fecha'"); //supongamos que hay 50 articulos pero 10 son de 2014-07-04 y 40 de 2014-07-03 
Entonces quisiera que $cantidad reste hasta llegar a 0 para hacer un UPDATE de existencias y las 40 de 2014-07-03 queden como 20 y eliminar la linea de los 10 que se utilizaron del 2014-07-04, luego que inserte en tabla movimientos y especifique que los 10 que tomó primero tenian un precio diferente a los 20 que se tomaron despues

Ej
Código MySQL:
Ver original
  1. Movimientos
  2. ID | CANT | PRECIO | FECHA
  3.  1 |    10  |    10.11 | 2014-07-05
  4.  2 |    20  |    11.12 | 2014-07-05

Espero que me puedan ayudar
  #2 (permalink)  
Antiguo 05/07/2014, 14:57
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Como hacer que una variable reste valores de una tabla

Quieres aplicar el método PEPS (Primeras Entradas - Primeras Salidas)?

Le pregunté a san google y en el primer resultado devolvió esto: http://www.gerencie.com/metodo-peps.html, si no te es útil ese enlace, entonces continúa la búsqueda.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 05/07/2014, 15:43
 
Fecha de Ingreso: agosto-2013
Ubicación: Guatemala
Mensajes: 137
Antigüedad: 10 años, 7 meses
Puntos: 4
Respuesta: Como hacer que una variable reste valores de una tabla

Con todo respeto, ya se que era peps, pero a muchas personas de este foro les preguntas por peps y no entienden, entonces lo unico que quiero es saber lo que pregunté y nada mas, pero ya me adelanté un poco en mi busqueda y solo estoy tratando de encontrar la manera en la que pueda ajustarse a lo que necesito, y gracias por tu respuesta.

Cita:
Iniciado por Triby Ver Mensaje
Quieres aplicar el método PEPS (Primeras Entradas - Primeras Salidas)?

Le pregunté a san google y en el primer resultado devolvió esto: http://www.gerencie.com/metodo-peps.html, si no te es útil ese enlace, entonces continúa la búsqueda.
  #4 (permalink)  
Antiguo 05/07/2014, 16:00
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Como hacer que una variable reste valores de una tabla

Pues lo único que entendí de tu mensaje original es que usarías el metodo PEP, pero, en fin:

1- Necesitas tener una columna adicional en tu tabla de movimientos, donde almacenes la cantidad disponible:

Código:
ID | CANTIDAD | FECHA | E/S | DISPONIBLE
 1       100        14-07-01   E         50
 2       200        14-07-03   E         100
Cuando hagas una salida, por ejemplo de 60 piezas:
Código:
salir = 60
do while salir > 0 {
      - Consultas la tabla de movimientos para obtener la primera entrada con disponible > 0
      si salir > disponible {
            - Haces la salida solo de la cantidad disponible
            - salir = salir - disponible
      } else {
            - Haces la salida completa
            - salir = 0
      } 
}
- Aquí actualizas las existencias generales
- En la primera iteración hará la salida de 50 y continuará
- En la segunda iteración hará la salida de 10 y finalizará
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 05/07/2014, 19:28
 
Fecha de Ingreso: agosto-2013
Ubicación: Guatemala
Mensajes: 137
Antigüedad: 10 años, 7 meses
Puntos: 4
De acuerdo Respuesta: Como hacer que una variable reste valores de una tabla

Bueno yo pensaba tener otra tabla para kardex pero con esto que me planteas me ahorraría esa molestia, solo debo dar forma a tu solución, ya que he pasado estos ultimos días demasiado estresado por no saber como salir de este paso, voy a tratar de implementar lo que me explicaste y te cuento como me fue, muchas gracias por tu ayuda y disculpa mi comportamiento. Saludos.
Cita:
Iniciado por Triby Ver Mensaje
Pues lo único que entendí de tu mensaje original es que usarías el metodo PEP, pero, en fin:

1- Necesitas tener una columna adicional en tu tabla de movimientos, donde almacenes la cantidad disponible:

Código:
ID | CANTIDAD | FECHA | E/S | DISPONIBLE
 1       100        14-07-01   E         50
 2       200        14-07-03   E         100
Cuando hagas una salida, por ejemplo de 60 piezas:
Código:
salir = 60
do while salir > 0 {
      - Consultas la tabla de movimientos para obtener la primera entrada con disponible > 0
      si salir > disponible {
            - Haces la salida solo de la cantidad disponible
            - salir = salir - disponible
      } else {
            - Haces la salida completa
            - salir = 0
      } 
}
- Aquí actualizas las existencias generales
- En la primera iteración hará la salida de 50 y continuará
- En la segunda iteración hará la salida de 10 y finalizará
  #6 (permalink)  
Antiguo 05/07/2014, 19:30
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Como hacer que una variable reste valores de una tabla

De hecho, es conveniente que tengas la tabla para kárdex o luego podrán surgir problemas... al menos eso creo.
__________________
- León, Guanajuato
- GV-Foto
  #7 (permalink)  
Antiguo 05/07/2014, 19:32
 
Fecha de Ingreso: agosto-2013
Ubicación: Guatemala
Mensajes: 137
Antigüedad: 10 años, 7 meses
Puntos: 4
Respuesta: Como hacer que una variable reste valores de una tabla

Está bien seguiré tu consejo gracias.
Cita:
Iniciado por Triby Ver Mensaje
De hecho, es conveniente que tengas la tabla para kárdex o luego podrán surgir problemas... al menos eso creo.

Etiquetas: bucle, php-mysql, restar
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 03:44.