Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/02/2009, 16:53
Avatar de saku39
saku39
 
Fecha de Ingreso: febrero-2009
Mensajes: 5
Antigüedad: 15 años, 2 meses
Puntos: 0
Ayuda con carrito de la compra en tienda web con PHP

Hola a todos , soy nuevo en el foro , estoy haciendo una aplicacion de una tienda web, tengo una base de datos en mysql con todos los productos.

Cuando selecciono los productos los envio al carrito de la compra a traves de la variable $_SESSION, donde envio los campos que quiero mostrar , el codigo del producto , el nombre , el precio y las unidades , lo muestro con variables $_SESSION tipo array, ejemplo ( $_SESSION["array_unidades"] ).

Para el carrito tengo una tabla donde muestro todos los productos que se van comprando con un bucle FOR y utilizando las variables session tipo array antes mencionadas , usando la variable contador del FOR como subindice del array , ejemplo ( $_SESSION["array_unidades"][$i] ), para que mientras existan productos en el carrito se vayan mostrando los diferentes campos , hasta ahi todo ok.

El problema viene ahora , cuando hago la compra , no se como hacer que me lo actualize en la BDD , es decir que me reste las unidades compradas al stock actual , esta claro que tiene que ser con una consulta SQL de UPDATE, pero para poder restar las unidades que compro $_SESSION["array_unidades"] , tendre que hacer antes una consulta SQL de SELECT , para saber cual es el stock actual para realizar la operacion.

Todo esto tengo pensado que ira en un bucle FOR , igual que el del carrito con la condicion de que se ejecute mientras existan productos, es decir hasta que el contador sea igual al numero de productos ( $_SESSION["num_productos"] ), mas o menos tengo la idea hacer el bucle , hacer una consulta de select para ver el stock , hacer una consulta de update y en el campo del stock poner la diferencia del stock actual (para eso guardo en una variable la consulta SELECT) y la variable sesion de unidades.

A ver si alguien puede darme una pequeña ayuda , muchas gracias.