Foros del Web » Programando para Internet » PHP »

Ayuda con Carrito de COmpras!!

Estas en el tema de Ayuda con Carrito de COmpras!! en el foro de PHP en Foros del Web. BUenas estoy diseñando un sistema de ventas online, y tengo problemas con el codigo del carrito de compras, he almacenado los valores en un array ...
  #1 (permalink)  
Antiguo 26/02/2008, 10:43
 
Fecha de Ingreso: febrero-2008
Ubicación: Cajamarca-Peru
Mensajes: 68
Antigüedad: 16 años, 9 meses
Puntos: 0
Exclamación Ayuda con Carrito de COmpras!!

BUenas estoy diseñando un sistema de ventas online, y tengo problemas con el codigo del carrito de compras, he almacenado los valores en un array asociativo, todo funciona pero cuando selecciono el mismo producto no me actualiza la cantidad q agrego. Si pudieran ayudarme porfavor tengo que entregar ya el sistema. Gracias de Antemano. Les dejo el codigo si pudieran ayudarme xfavor.

carrito.php
Código PHP:
<?php 
$item
["codigo"] = $_POST['item'];
$item["color"] = $_POST['id_color'];
$item["cantidad"] = $_POST['cantidad'];
$encontrado 0;
$aventa $_SESSION['aventa'];
   if (!isset(
$aventa)){
      
$aventa[] = $item;
   }
   else
   {
      foreach(
$aventa as $v)
      {
         if (
$item["codigo"] == $v["codigo"] && $item["color"] == $v["color"])
         {
         
$v["cantidad"]+=$item["cantidad"];
         
$encontrado=1;
         }
      }
      if (!
$encontrado)  
          
$aventa[] = $item;
   }
$_SESSION['aventa'] = $aventa;
?>
Los productos pueden ser de colores diferentes x eso la validacion tb del color. Envio 3 valores el codigo del producto, el color y la cantidad, xfavor necesito ayudaaa.

Última edición por chuequex; 27/02/2008 a las 10:33
  #2 (permalink)  
Antiguo 26/02/2008, 15:57
Avatar de MariaElenaSolís22  
Fecha de Ingreso: agosto-2006
Ubicación: Mty., Nuevo León, Méx.
Mensajes: 88
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Ayuda con Carrito de COmpras!!

uhm tal vez debas de mantener la variable que contiene la cantidad o verificar que la sesion que utilizas para ello no expire.
  #3 (permalink)  
Antiguo 26/02/2008, 21:04
 
Fecha de Ingreso: febrero-2008
Ubicación: Cajamarca-Peru
Mensajes: 68
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: Ayuda con Carrito de COmpras!!

Hola Mariaelena weno la sesion no expira, el vector se mantiene el unico problema es que la cantidad no se actualiza, es decir lo suma probe imprimiendo la cantidad sumada y si la imprime en pantalla, pero ni bien voy ha agregar otro producto se reinicia a su valor anterior. Gracias de todos modos.
  #4 (permalink)  
Antiguo 26/02/2008, 21:19
 
Fecha de Ingreso: septiembre-2006
Ubicación: Buenos Aires
Mensajes: 125
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Ayuda con Carrito de COmpras!!

Si entendi supongo que esta parte
Código PHP:

$v
["cantidad"]+=$item["cantidad"]; 
No actualiza la session
$v es una copia de lo que queres actualizar
__________________
alquiler gesell

Última edición por acknowledge; 26/02/2008 a las 21:32
  #5 (permalink)  
Antiguo 27/02/2008, 10:32
 
Fecha de Ingreso: febrero-2008
Ubicación: Cajamarca-Peru
Mensajes: 68
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: Ayuda con Carrito de COmpras!!

hola acknowledge weno si al parecer es eso, pero sabes alguna forma de solucionarlo??, xfavor me seria de mucha utilidad tu aporte. Gracias.
  #6 (permalink)  
Antiguo 27/02/2008, 14:54
Avatar de MariaElenaSolís22  
Fecha de Ingreso: agosto-2006
Ubicación: Mty., Nuevo León, Méx.
Mensajes: 88
Antigüedad: 18 años, 2 meses
Puntos: 0
Bueno, espero poderte ayudar..

mira guarda en otra variable el valor anterior del vector y al que sumas cuando termines de hacer la operacion asignas el valor de esta variable igual y es lo k te falta otra variable y asi no te complicas tanto las cosas. los arreglos siempre estan en memoria mientras se ejecute el script y de ahi puedes sacar este valor asignandolo a una variable.
  #7 (permalink)  
Antiguo 27/02/2008, 15:10
 
Fecha de Ingreso: septiembre-2006
Ubicación: Buenos Aires
Mensajes: 125
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Ayuda con Carrito de COmpras!!

Código PHP:
      foreach($aventa as $v
      { 
         if (
$item["codigo"] == $v["codigo"] && $item["color"] == $v["color"]) 
         { 
         
$v["cantidad"]+=$item["cantidad"]; 
         
$encontrado=1
         } 
      } 
Creo que each trabaja sin la copia y cambia la matriz original (foreach trabaja con copias)

Cambialo a:


Código PHP:
reset($aventa);
while (list(
$codigo$color,$cantidad) = each($aventa)) {
    if (
$item["codigo"] == $codigo && $item["color"] == $color
         { 
         
$cantidad+=$item["cantidad"]; 
         
$encontrado=1

}

Espero te funcione
__________________
alquiler gesell
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 14:04.