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 original
Pero cuando añado otro pruducto, si que me saca el array con índice, que indica que ya es bidimensional.
Código HTML:
Ver original
array (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 original
include 'conecta.php'; FROM pieza // 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 { $_SESSION['carrito'] = $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>";
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