Foros del Web » Programando para Internet » PHP »

Sistema de reservaciones para hotel

Estas en el tema de Sistema de reservaciones para hotel en el foro de PHP en Foros del Web. Que tal amigos! Antes que nada permitanme desearles el mejor de los años en este 2007, que sea un año lleno de buenas cosas para ...
  #1 (permalink)  
Antiguo 09/01/2007, 01:01
 
Fecha de Ingreso: marzo-2002
Ubicación: Guadalajara, Jalisco.
Mensajes: 213
Antigüedad: 22 años, 1 mes
Puntos: 0
Sistema de reservaciones para hotel

Que tal amigos!

Antes que nada permitanme desearles el mejor de los años en este 2007, que sea un año lleno de buenas cosas para ustedes y sus seres queridos.

No se si sea este el foro correcto, pero estoy buscando sugerencias para algún algoritmo, y ya que voy a desarrollar en php decidí escribir en este foro.

La situación es la siguiente, voy a elaborar un pequeño sistema de reservaciones via web para un pequeño hotel en las cosas de Nayarit, México.

La situación es que se me ocurrió una manera que me parece algo tonta para controlar las reservaciones, consiste en:
- Insertar una fila en una tabla con # de reservación, fecha de llegada, salida y tipo de habitación.
- En otra tabla insertar una fila por cada noche reservada.

De tal manera que al realizar otra reservación (otro usuario), se pueda buscar disponibilidad haciendo un count de las reservaciones (por noche) del tipo de cuarto buscado y comparandolo con el número de habitaciones disponible.

Es lo que se me ocurre y quisiera saber que opinan.

¿Alguna otra idea?

Les mando un abrazo desde Guadalajara, México.
__________________
Edgar Castro
Estudiante de Ingenieria en Sistemas @ ITESO
http://www.iteso.mx
  #2 (permalink)  
Antiguo 09/01/2007, 01:08
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 21 años, 3 meses
Puntos: 9
Re: Sistema de reservaciones para hotel

yo que vos cuando hago una reservacion....
tendria una tabla Reservaciones

id_habitacion INT (11)
fecha_incio INT (11)
fecha_fin INT (11)

las fechas las manejas en Timestamp, el tipo devuelto por la funcion time()

entonces si queres buscar habitacion disponibles para el dia X

tendrias que buscar las habitaciones que no posean registros en la tabla reservas para fechas_inicio < X < fecha_fin

ahora no se me ocurre bien el sql, pero lo que vos decis me suena a demasiada informacion inecesaria...
  #3 (permalink)  
Antiguo 09/01/2007, 01:12
 
Fecha de Ingreso: marzo-2002
Ubicación: Guadalajara, Jalisco.
Mensajes: 213
Antigüedad: 22 años, 1 mes
Puntos: 0
Re: Sistema de reservaciones para hotel

Que tal Nefertiter, muchas gracias por tu pronta respuesta.

Creo que no hice bien mi pregunta, de hecho lo que tu propones me parece lo más lógico, pero el problema es que yo no tengo idea de como hacer la consulta SQL de esa manera, y de la otra (la queyo propongo) aunque mas complicada la consulta vendría siendo bastante sencilla.

Mil gracias por tu respuesta y seguimos en contacto, los mantendré informados de que fue lo que finalmente hice.

¿Alguna otra propuesta?
__________________
Edgar Castro
Estudiante de Ingenieria en Sistemas @ ITESO
http://www.iteso.mx
  #4 (permalink)  
Antiguo 09/01/2007, 01:18
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 21 años, 3 meses
Puntos: 9
Re: Sistema de reservaciones para hotel

pasa, si te digo q no se me ocurre bien tene en cuenta la hora son las 4.17 am xD

y bueno me gustaria saber mas como es la idea.. yo tiro una fecha y ahi me saltan las habitaciones disponibles? o para una habitacion queres armar el calendario de disponibilidad...
  #5 (permalink)  
Antiguo 09/01/2007, 10:53
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 21 años, 3 meses
Puntos: 9
Re: Sistema de reservaciones para hotel

me levante de muy buen humor (a las 13.30 xD), asi que mira no tengo las tablas creadas como para probar el sql exacto pero aca te dejo mas o menos como hacerlo

supone desde el form de consulta te pasan la fecha con este formato :

Código PHP:
$fecha 'dd/mm/aa';
$t explode('/',$fecha);
$tiempo mktime(0,0,0,$t[1],$t[0],$t[2]));

$sql_1 "SELECT habitacion_id 
FROM reservaciones 
WHERE fecha_inicio >= $tiempo 
AND fecha_fin  <= $tiempo"
;

$query_ocupadas mysql_query($sql_1);

/*
sacamos los ID de las ocupadas
*/
$ocupadas = array();
while(
$row mysql_fetch_assoc($query_ocupadas)){
$ocupadas [] = $row['habitacion_id'];
}
$ides implode(',',$ocupadas);

$sql_2 "SELECT * FROM habitaciones 
WHERE habitacion_id NOT IN ($ides)"
;

$query_libres mysql_query($sql_2 ); 
Espero se entienda cualquier cosa podes consultar en el foro de MySQL tambien
  #6 (permalink)  
Antiguo 09/01/2007, 11:14
 
Fecha de Ingreso: marzo-2002
Ubicación: Guadalajara, Jalisco.
Mensajes: 213
Antigüedad: 22 años, 1 mes
Puntos: 0
Re: Sistema de reservaciones para hotel

Que tal Nefertiter, yo también me acabo de levantar, sólamente que aquí son las 11 de la mañana :D jeje.

Suena muy interesante tu código pero ahorita voy de salida a la universidad, en cuanto regrese lo checo para decirte que tal.

Un saludo!
__________________
Edgar Castro
Estudiante de Ingenieria en Sistemas @ ITESO
http://www.iteso.mx
  #7 (permalink)  
Antiguo 02/07/2008, 22:08
 
Fecha de Ingreso: julio-2008
Mensajes: 1
Antigüedad: 15 años, 9 meses
Puntos: 0
Información Sistema de reservaciones para hotel

Que tal Nefertiter y castordj

Fijense que yo estoy bastante interesado en el tema sobre esta consulta, pues estoy realizando una base de datos para el sistema de reservacion de hotel, realmente es una base de datos que quiere poner a funcionar en Access 2007, y estuve pensando en lo que propusieron ambos.

Necesito saber si uds, me pueden ayudar a fabricar las SQL para obtener las habitaciones disponibles para ofrecer al momento de la reservacion, tomando en cuenta que tengo:

1. tabla de reservaciones
2. tabla de registro de entrada
3. tabla de registro de salida

Solicito su ayuda.

Muchas gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 15:42.