Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/03/2014, 04:34
Avatar de wolfmoon
wolfmoon
 
Fecha de Ingreso: octubre-2007
Mensajes: 189
Antigüedad: 16 años, 6 meses
Puntos: 2
Control de reservas y problema al imprimir variable via get

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 original
  1. if(isset($_SESSION["carro"])):
  2.     $totalCoste = 0;
  3.     $Total = 0;
  4.  
  5. foreach($_SESSION["carro"] as $key=>$valor):
  6.     $fecha = $_GET["date"];
  7.     $fi = $obj->getRoomsId($key);
  8.    
  9. // 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"                                  
  10.     foreach($fi as $fila):
  11.         $id = $fila["albergue_id"];
  12.         $room = $fila["albergue_nombre"];
  13.             $precio = $fila["albergue_precio"];
  14.                                                
  15.        endforeach;
  16.                                                
  17.       $coste = $precio * $valor;
  18.       $totalCoste = $totalCoste + $coste;
  19.       $Total = $Total + $valor;

Por otro lado tengo el archivo carro.php:

Código PHP:
Ver original
  1. public function procesaCarro(){
  2.                    
  3.         if(isset($_GET['id'])){
  4.             $id = $_GET['id'];
  5.             $id = (int) $id;
  6.         }else{
  7.             $id = 1;
  8.         }
  9.        
  10.         if(isset($_GET["url"])) {
  11.             $url = $_GET["url"];
  12.         }
  13.        
  14.         if(!is_array($_SESSION["carro"]))
  15.             $_SESSION["carro"] = Array();
  16.            
  17.         if(isset($_GET['action']))
  18.             $action = $_GET['action'];
  19.         else
  20.             $action = '';
  21.            
  22.         switch ($action) {
  23.            
  24.             case 'add':
  25.            
  26.                 if(isset($_SESSION['carro'][$id]))
  27.                    
  28.                     $_SESSION['carro'][$id]++;
  29.                 else
  30.                     $_SESSION['carro'][$id] = 1;
  31.            
  32.                 break;
  33.                
  34.             case 'remove':
  35.            
  36.                 if(isset($_SESSION['carro'][$id]))
  37.                 {
  38.                     $_SESSION['carro'][$id]--;
  39.                    
  40.                     if($_SESSION['carro'][$id] == 0)
  41.                         unset($_SESSION['carro'][$id]);
  42.                 }
  43.            
  44.                 break; 
  45.  
  46.             case 'removeProd':
  47.            
  48.                 if(isset($_SESSION['carro'][$id]))
  49.                 {
  50.                     unset($_SESSION['carro'][$id]);
  51.                 }
  52.            
  53.                 break;
  54.                
  55.             case 'empty':
  56.                
  57.                 unset($_SESSION['carro'][$id]);
  58.                
  59.                 break;     
  60.            
  61.         }
  62.            
  63.     }