Hola, acabo de hacer esto, para que el carrito de la compra incremente la cantidad del mismo producto, mirándolo por $idpie y funciona añadiendo la cantidad, pero sale mal cuando es un nuevo producto.
Código PHP:
Ver originalinclude 'conecta.php';
if(!empty($_POST['idpie'])){$idpie = $_POST['idpie'];}
FROM pieza
if(!isset($_POST['cantidad'])){ $cantidad = 1;}else{$cantidad = $_POST['cantidad'];}
// Asignar valores de la fila sql a variables
$nompie = $row['nompie'];
$precio = $row['pvp'];
$coste = $precio * $cantidad;
//Creamos la matriz asignandoselo a la variable
// Añadimos las columnas de la matriz array
$carrito['idpie'] = $idpie;
$carrito['nompie'] = $nompie;
$carrito['precio'] = $precio;
$carrito['cantidad'] = $cantidad;
$carrito['coste'] = $coste;
// Comprobaciones
if(!isset($_SESSION['carrito'])) {
$_SESSION['carrito'] = $carrito;
}
elseif(isset($_SESSION['carrito'])) {
$carrito = $_SESSION['carrito'];
//foreach ($carrito as $key => $pieza)
//{
{
$cant = $carrito['cantidad'];
echo "Cant: ".$cant;
echo "<br>";
$cant++;
$carrito['cantidad'] = $cant;
$carrito['coste'] = $cant * $carrito['precio'];
echo "<br>";
echo "IdPie: ".$carrito['idpie'];
$_SESSION['carrito'] = $carrito;
}
else
{
}
//}
}
Aquí el volcado de var_dump();
Código PHP:
Ver originalIdPie
: 28VOLCADO DE LA VARIABLE
ARRAY CARRITO
'idpie' => string '28' (length=2)
'nompie' => string 'Muelle Helecoidal' (length=17)
'precio' => string '41.00' (length=5)
'cantidad' => int 2
'coste' => float 82
VOLCADO DE LA SESSION CARRITO
'idpie' => string '28' (length=2)
'nompie' => string 'Muelle Helecoidal' (length=17)
'precio' => string '41.00' (length=5)
'cantidad' => int 2
'coste' => float 82
Con un nuevo producto:
Código HTML:
Ver originalVOLCADO DE LA SESSION CARRITO
array (size=6)
'idpie' => string '28' (length=2)
'nompie' => string 'Muelle Helecoidal' (length=17)
'precio' => string '41.00' (length=5)
'cantidad' => int 2
'coste' => float 82
0 =>
array (size=5)
'idpie' => string '28' (length=2)
'nompie' => string 'Muelle Helecoidal' (length=17)
'precio' => string '41.00' (length=5)
'cantidad' => int 2
'coste' => float 82