este es mi adelanto hasta ahora, si el usuario esta en el catalogo de productos, e ingresa el producto mas de una vez, lo voy a nexando la cantidad al carrito de compras
Código PHP:
class carrito_compras
{
var $num_productos;
var $array_id_item;
var $array_nombre_item;
var $array_precio_item;
var $array_cantidad;
function carrito_compras ()
{
$this->num_productos=0;
}
function introduce_producto($id_prod,$nombre_prod,$precio_prod,$cantid)
{
$bandera=true;
for ($j=0;$j<$this->num_productos;$j++)
{
if ($this->array_id_item[$j]==$id_prod)
{
$this->array_cantidad[$j] += $cantid; $bandera=false;
}
}
if ($bandera)
{
$this->array_id_item[$this->num_productos]=$id_prod; // introduzco identificacion del producto a un espacio del array
$this->array_nombre_item[$this->num_productos]=$nombre_prod;
$this->array_precio_item[$this->num_productos]=$precio_prod;
$this->array_cantidad[$this->num_productos]=$cantid;
$this->num_productos ++;[/B]
}
}
//Muestra el contenido del carrito de la compra
//ademas pone los enlaces para eliminar un producto del carrito
function imprime_carrito()
{
$suma = 0;
echo '<table border=1 cellpadding="3">
<tr>
<td><b>Nombre producto</b></td>
<td><b>Precio</b></td>
<td> Cantidad</td>
<td></td>
</tr>';
for ($i=0;$i<$this->num_productos;$i++)
{
if($this->array_id_item[$i]!=0) //si so niguales a 0 fue porque fueron borrados por el usuario
{
echo '<tr>';
echo "<td>" . $this->array_nombre_item[$i] . "</td>";
echo "<td>" . $this->array_precio_item[$i] . "</td>";
echo "<td> <input name='' type='text' value=' " . $this->array_cantidad[$i] . "'/></td>";
echo "<td><a href='eliminar_producto.php?linea=$i'>Eliminar producto</td>";
echo '</tr>';
$suma += $this->array_precio_item[$i];
}
}
//muestro el total
echo "<tr><td><b>TOTAL:</b></td><td> <b>$suma</b></td><td> </td></tr>";
//total más IVA
echo "<tr><td><b>IVA (16%):</b></td><td> <b>" . $suma * 1.16 . "</b></td><td> </td></tr>";
echo "</table>";
}
//elimina un producto del carrito. recibe la linea del carrito que debe eliminar
//no lo elimina realmente, simplemente pone a cero el id, para saber que esta en estado retirado
function elimina_producto($linea)
{
$this->array_id_item[$linea]=0;
}
}
//inicio la sesión
session_start();
//si no esta creado el objeto carrito en la sesion, lo creo
if (!isset($_SESSION["carr"]))
{
$_SESSION["carr"] = new carrito_compras();
}
pero no se es como actualizar dede el carro de compras las cantidades.....