Buenos días a todos!
Estoy intentando hacer un carrito de compras con arrays de session y no entiendo algunas cosas.
Primero, cuando creo un array llamado carrito, lo muestra como un array unidimensional tal que así:
Código PHP:
Ver originalvar_dump($carrito); // El volcado de carrito, nótese que falta el índice del array 'idpie' => string '28' (length=2)
'nompie' => string 'Muelle Helecoidal' (length=17)
'precio' => string '41.00' (length=5)
'cantidad' => string '1' (length=1)
'coste' => float 41
Pero cuando añado otro pruducto, si que me saca el array con índice, que indica que ya es bidimensional.
Código HTML:
Ver originalarray (size=6)
'idpie' => string '28' (length=2)
'nompie' => string 'Muelle Helecoidal' (length=17)
'precio' => string '41.00' (length=5)
'cantidad' => string '1' (length=1)
'coste' => float 41
0 =>
array (size=5)
'idpie' => string '27' (length=2)
'nompie' => string 'Filtro Aceite No metálico' (length=26)
'precio' => string '6.00' (length=4)
'cantidad' => string '1' (length=1)
'coste' => float 6
El código que estoy usando es este:
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
$carrito['idpie'] = $idpie;
$carrito['nompie'] = $nompie;
$carrito['precio'] = $precio;
$carrito['cantidad'] = $cantidad;
$carrito['coste'] = $coste;
echo "LA ARRAY CARRITO ANTES DE METER EN SESSION. <br>";
echo "*****************************************************************************************";
echo "*****************************************************************************************";
echo "<br>";
// 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
{
$carrito['idpie'] = $idpie;
$carrito['nompie'] = $nompie;
$carrito['precio'] = $precio;
$carrito['cantidad'] = $cantidad;
$carrito['coste'] = $coste;
}
//}
}
echo "VOLCADO DE LA <strong>SESSION</strong> CARRITO<br />";
echo "<br>";
echo date("D, d M Y h:m:s");
A ver si alguien me lo puede explicar de forma didáctica para que lo entienda pues me trae loco, porque lo tengo y parece fácil, pero no me sale jooorrr
Muchas gracias