Foros del Web » Programando para Internet » PHP »

actualizar tabla stock

Estas en el tema de actualizar tabla stock en el foro de PHP en Foros del Web. hola todo tengo el siguiente problema: estoy haciendo un carrito de compras y cuando genero las ventas y me las guarda en la base de ...
  #1 (permalink)  
Antiguo 04/01/2014, 11:34
 
Fecha de Ingreso: septiembre-2013
Mensajes: 8
Antigüedad: 11 años, 2 meses
Puntos: 0
actualizar tabla stock

hola todo tengo el siguiente problema: estoy haciendo un carrito de compras y cuando genero las ventas y me las guarda en la base de dato necesito q me actualice la mi tabla stock. La sesion con la que actualmente trabajo es $_SESISON['carrito'] y la guardo en la variable $arreglo para poder tabajar con los datos...el siguiente codigo me funciono pero solo modifica un solo registo.

$arreglo=$_SESSION['carrito'];
$re=mysql_query("select * from stock where id=".$_GET['id']);
while($f=mysql_fetch_array($re)){
$res=$f['cantidad'];

for($i=0;$i<count($arreglo);$i++){
$resta=$res-$arreglo[$i]['Cantidad'];
}

mysql_query("update stock set cantidad='$resta' where id=".$_GET['id']);
}

pero si yo tengo mas de un registro dentro de mi $_SESSION['carrito'] me modifica el ultimo registo q yo cargue...

No se si estoy lo estoy haciendo bien o deberia plantearlo de otra forma...
  #2 (permalink)  
Antiguo 04/01/2014, 11:48
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: actualizar tabla stock

Y si te olvidas de la tabla stock y usas una tabla llamada entradas y salidas

TblEntSal
idEntSal
idProducto
idTipo
cantidad
fecha
...

donde Tipo es 1 Entradas (o compras) y 2 Salidas (o ventas)

y te limitas a registrar entradas y salidas

En cualquier momento puedes calcular el stock actual

Código MySQL:
Ver original
  1. SELECT idProducto,
  2.          SUM(if(tipo=1,cantidad,0)) Compras,
  3.          SUM(if(tipo=2,cantidad,0)) Ventas,
  4.          SUM(if(tipo=1,cantidad,0))-SUM(if(tipo=2,cantidad,0)) Stock
  5. FROM tblEntSal
  6. GROUP BY idProducto;

incluso podrías crear una vista con esa query que se llame como tu actual tabla de stock....

Creeme es mucho mas seguro y simple hacer esto que mantener una tabla para las compras otra para las ventas y rizando el rizo una para el stock, que obviamente es un calculo sobre los datos anteriores....

Que fuerte no?
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 04/01/2014 a las 11:55
  #3 (permalink)  
Antiguo 04/01/2014, 12:24
 
Fecha de Ingreso: septiembre-2013
Mensajes: 8
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: actualizar tabla stock

se ve mucho mas sencillo voy intentarlo
pero lo q no entiendo es esta parte SUM(if(tipo=1,cantidad,0))-SUM(if(tipo=2,cantidad,0)) Stock esto me lo guardaria en mi tabla stock y me modificaria la cantidad actual q yo tengo en esa tabla?
  #4 (permalink)  
Antiguo 06/01/2014, 16:52
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: actualizar tabla stock

NOOOO... ya no tendras una tabla Stock no es necesaria siempre puedes usar esa query para saber el stock que se calcual al vuelo!!!
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Etiquetas: mysql, registro, select, sql, tabla, variable
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 22:04.