Ver Mensaje Individual
  #4 (permalink)  
Antiguo 27/06/2012, 11:31
dannelblogger
 
Fecha de Ingreso: junio-2012
Ubicación: sabadell
Mensajes: 46
Antigüedad: 12 años, 7 meses
Puntos: 6
Respuesta: variable cantidad en php

Bueno.. la verdad es que es bastante engorroso el leer así..
De todas formas te presento un planteamiento personal, y ya luego tu sacas tus propias conclusiones:

Código PHP:
// Partiendo desde 0.. lo que pretendes es añadir un articulo/producto al carro..
// En el momento que añades algo, inicialmente ha de partir como mínimo en una unidad..


//** CONCEPTO PARA AGREGAR UN PRODUCTO AL CARRO

if($nuevo// Nuevo puede ser un $_GET['producto_id'] o un $_POST['producto_id'], por ejemplo
 
{
   
// En primer lugar, comprovaremos si existe la session del carro
   
if(!isset($_SESSION['carrito'])) // No existe(el carro está vacio)
    
{
     
// Hemos de declarar los elementos con los que vamos a trabajar
     
$_SESSION['carrito'] = array(); // Donde almacenaremos todos los productos
     
$_SESSION['articulos'] = 0// El total numérico de los productos
    
}
   
   
// Ahora, el producto que hemos pasado através de la variable '$nuevo'..¿Existe dentro del carro? 
   
if(isset($_SESSION['carrito'][$nuevo])) // el producto ya estaba dentro del carro
    
{
      
// Posiblemente el usuario haya clickado varias veces encima del botón 'añadir al carro', por ejemplo.. tienes dos opciones:
      
$_SESSION['carrito'][$nuevo]; // Lo ignoras y dejas tal cual..
      
$_SESSION['carrito'][$nuevo]++; // Incrementas en 1 el número de unidades del producto
    
}
  
else 
// El producto no estaba dentro del carro
  

    
$_SESSION['carrito'][$nuevo] = 1// le damos un valor inicial al total de las unidades del producto
  

 }

//** CONCEPTO PARA MODIFICAR EL NUMERO DE UNIDADES DE UN PRODUCTO

if(isset($_POST['modificar'])) // En este caso hacemos uso de un formulario, donde utilizaremos los valores 'name' de los campos 'input' para trabajar
 
{
  foreach (
$_SESSION['carrito'] as $articulo_id => $qty// Desglosamos el carrito en  tantos productos como lo componen
   
{
     if(
$_POST[$articulo_id]=='0'// Si el usuario ha pasado un 0 como unidad numerica, borraremos el producto
     
{
       unset(
$_SESSION['carrito'][$articulo_id]);
     }
    else
     {
       
$_SESSION['carrito'][$articulo_id] = $_POST[$articulo_id];
     }
   }
 } 
>

Espero haber podido aclarar alguna duda o concepto al respecto(El código está improvisado, de manera que no se si existe algún tipo de error de sintaxy)..

Nota: Soy nuevo en el foro, aunque seguidor de muchos años, pido perdón por los errores que pueda cometer con el editor de textos!!