tabla 'habitaciones'
para simplificar diremos que tiene estos 3 campos:
idhabitacion----autonumerico
habitacion------tipo de habitacion (individual, doble, etc...)
cantidad--------número de habitaciones que hay de cada tipo
tabla 'reservas'
para simplificar diremos que tiene estos campos:
idreserva-------autonumerico
dia---------------recoge el día de la reserva (ahora explico su funcionamiento)
codigoreserva-codigo exclusivo que se genera automáticamente para cada reserva
habitacionid---habitacion a reservar (es el idhabitacion anterior. identifica al tipo de habitacion)
cantidad-------número de habitaciones de ese tipo a reservar
El sistema genera un código de reserva automático que va al campo codigoreserva y que es exclusivo para cada reserva. así tenemos que si una reserva tiene estos datos:
Fecha de entrada: 02-03-2009
Fecha de salida: 04-03-2009
Habitación: Individual
Número de habitaciones (o cantidad de habitaciones de ese tipo a reservar): 2
en la base de datos, en la tabla 'reservas' tendremos:
idreserva-1
día-02-03-2009
codigo reserva-5698632(generado automáticamente)
habitacionid-1
cantidad-1
idreserva-2
día-03-03-2009
codigo reserva-5698632(generado automáticamente)
habitacionid-1
cantidad-1
el día 04-03-2009 ya no generaría un nuevo campo porque el sistema desprecia el último día de la reserva al considerar que ese día es cuando se van y queda vacante.
bien. supongamos este ejemplo en cuestión. supongamos que de la habitación individual hay 2 habitaciones. la tabla 'habitaciones' tendría:
idhabitacion-1
tipo-Individual
cantidad-2
esta reserva motivaría que en esa misma fecha yo podría hacer otra reserva por otra habitación más en ese tipo de habitación, en la Individual, ya que hay 2 habitaciones de este tipo en el sistema. cómo valido yo todo esto? pues digo lo siguiente:
Código PHP:
$fechaen = $_POST['fechaen'];
$fechasal = $_POST['fechasal'];
$habitacion = $_POST['habitacion'];
$cantidad = trim($_POST['cantidad']);
//consulta a la tabla habitaciones
$sql = "SELECT * FROM habitaciones where idhabitacion='$habitacion'";
$result = mysql_query($sql) or die (mysql_error());
$datos = mysql_fetch_assoc($result);
//consulta a la tabla reservas
$sqlrestot = "SELECT COUNT(cantidad) AS totalreservas FROM reserva WHERE habitacionid='$habitacion' GROUP BY codigoreserva";
$resultrestot = mysql_query($sqlrestot) or die (mysql_error());
$datosrestot = mysql_fetch_assoc($resultrestot);
Código PHP:
$reservastotal = $datosrestot ['totalreservas'];
$reservaslibresfec = $datos ['cantidad'] - $reservastotal;
//Primera validación: Que haya habitaciones disponibles de ese tipo
//Si la variable $reservaslibresfec es cero es porque no tenemos disponibilidad
if ($reservaslibresfec==0){
echo "Todas las habitaciones tipo $datos[tipo] están ocupadas";
}
//Segunda validación: que la cantidad que quiero reservar exista, es decir,
//supongamos que yo quiero reservar 5 individuales pero si en todo el sistema
//el número de individuales es 2 me debe dar un mensaje diciendo que sólamente
//hay 2 habitaciones de tipo individual en el sistema
elseif ($cantidad > $datos ['cantidad']) {
echo "Sólamente tenemos $datos[cantidad] habitaciones de ese tipo";
//Tercera validación: que en esas mismas fechas (una reserva tiene para todos
//sus días el mismo código de reserva) haya alguna disponibilidad. Por ejemplo
//de un mensaje diciendo que en esas fechas sólo hay disponible una habitación
//de ese tipo:
elseif ($cantidad <= $datos ['cantidad'] && $reservaslibresfec<>0) {
echo "En esas fechas tenemos disponibles $reservaslibresfec habitaciones de ese tipo";
![Corazón](http://static.forosdelweb.com/fdwtheme/images/smilies/love.png)
![Corazón](http://static.forosdelweb.com/fdwtheme/images/smilies/love.png)
![Corazón](http://static.forosdelweb.com/fdwtheme/images/smilies/love.png)
![Corazón](http://static.forosdelweb.com/fdwtheme/images/smilies/love.png)
alguna idea? necesito ayuda.....
![Corazón](http://static.forosdelweb.com/fdwtheme/images/smilies/love.png)
![Corazón](http://static.forosdelweb.com/fdwtheme/images/smilies/love.png)
![Corazón](http://static.forosdelweb.com/fdwtheme/images/smilies/love.png)
![Corazón](http://static.forosdelweb.com/fdwtheme/images/smilies/love.png)
estoy desesperada....
![lloron](http://static.forosdelweb.com/fdwtheme/images/smilies/chillando.png)
![lloron](http://static.forosdelweb.com/fdwtheme/images/smilies/chillando.png)