Hola, estoy haciendo un proyecto en el que hay unas reservas de habitaciones.
Me lo he tomado como un carrito de compras, la funcionalidad esta hecha, solo tengo un fallo a la hora de recoger la fecha.
Envio tres variables via get, el id del producto, la accion y la fecha de entrada. En este caso solo hay fecha de entrada, y no hay control de habitaciones. Lo que me falla es que al intentar imprimir la fecha escogida para cada caso en el archivo que hace de carrito siempre me imprime la ultima fecha escogida, y me lo hace en todos los casos. Es decir, si estoy intentando reservar tres habitaciones, la fecha de cada item del carro (de cada habitacion elegida) siempre es la del ultimo item agregado. Seguramente sera una tonteria pero no se me ocurre como hacerlo.
Archivo index.php:
Código PHP:
Ver originalif(isset($_SESSION["carro"])): $totalCoste = 0;
$Total = 0;
foreach($_SESSION["carro"] as $key=>$valor):
$fecha = $_GET["date"];
$fi = $obj->getRoomsId($key);
// aqui recorro la tabla para traerme la info de las habitaciones, pero al no tener la fecha guardada, no se como recorrer la que viene via get para cada "sitio"
foreach($fi as $fila):
$id = $fila["albergue_id"];
$room = $fila["albergue_nombre"];
$precio = $fila["albergue_precio"];
endforeach;
$coste = $precio * $valor;
$totalCoste = $totalCoste + $coste;
$Total = $Total + $valor;
Por otro lado tengo el archivo carro.php:
Código PHP:
Ver originalpublic function procesaCarro(){
$id = $_GET['id'];
$id = (int) $id;
}else{
$id = 1;
}
if(isset($_GET["url"])) { $url = $_GET["url"];
}
$_SESSION["carro"] = Array();
if(isset($_GET['action'])) $action = $_GET['action'];
else
$action = '';
switch ($action) {
case 'add':
if(isset($_SESSION['carro'][$id]))
$_SESSION['carro'][$id]++;
else
$_SESSION['carro'][$id] = 1;
break;
case 'remove':
if(isset($_SESSION['carro'][$id])) {
$_SESSION['carro'][$id]--;
if($_SESSION['carro'][$id] == 0)
unset($_SESSION['carro'][$id]); }
break;
case 'removeProd':
if(isset($_SESSION['carro'][$id])) {
unset($_SESSION['carro'][$id]); }
break;
case 'empty':
unset($_SESSION['carro'][$id]);
break;
}
}