Foros del Web » Programación para mayores de 30 ;) » Programación General »

Ayuda con sistema de reservas en php

Estas en el tema de Ayuda con sistema de reservas en php en el foro de Programación General en Foros del Web. Hola amigos, Después de pasarme unos cuantos días volviendome loco, he decidido postear mi problema a ver que solución puede tener. Ante todo decir que ...
  #1 (permalink)  
Antiguo 22/06/2009, 01:43
Avatar de jlmoreno31  
Fecha de Ingreso: mayo-2009
Ubicación: Barcelona
Mensajes: 174
Antigüedad: 15 años
Puntos: 2
Ayuda con sistema de reservas en php

Hola amigos,

Después de pasarme unos cuantos días volviendome loco, he decidido postear mi problema a ver que solución puede tener. Ante todo decir que no quiero que nadie me haga el código, sino encontrar a alguien que me de una idea de la lógica del problema. Os cuento:

Estoy haciendo una web para un colegio privado para gestionar sus salas de conferencias. Todo funciona bien pero hay un tema que no logro conseguir, almenos como quiero. Tengo una tabal en mysql llamada 'reservas' que contiene lo siguiente: id_reserva, id_usuario, id_centro, id_sala, fecha, hora inicio, hora_fin. Es una tabla donde se insertan las reservas de las diferentes salas de conferencia que tiene el centro. El problema es el siguiente: Tengo una página que tiene un buscador de disponibilidad y consta de lo siguiente: input text (Ciudad), fecha, hora inicio reserva, hora fin reserva. Cuando el usuario rellena el formulario éste llama a un archivo php 'results.php' el cual lista las salas que tiene libre según los datos insertados. El problema es que no se obtener la lógica de la búsqueda. Es decir, yo lo que hago es lo siguiente:

1. Realizo una consulta que obtenga aquellas salas en la ciudad indicada en la que coincidan todos los datos (ciudad, fecha , horainicio, horafin). y después con una condición, listo el resto de salas. De esa forma listaré todas las salas que no tengan coincidencia con los datos y por lo tanto esten libres. El resultado es nefasto porque hay salas que coinciden con los datos, pero que están libres una hora más tarde por ejemplo y no se listan.

Alguna idea sobretodo de la lógica de la búsqueda. Perdonad que sea tan largo pero es un poco complicado explicar con pocas palabras.

Gracias de antemano.
  #2 (permalink)  
Antiguo 22/06/2009, 02:40
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 65
Antigüedad: 21 años
Puntos: 2
Respuesta: Ayuda con sistema de reservas en php

Hola he implementado hace poco un sistema de reservas y tuve la misma problematica.

Primero que nada la respuesta que ruiqres segun entiendo debes obtenerla en otra tabla y me explico:

es decir tu buscarias en la tabla de reservas si existe alguna reserva que impida que tu reserva se realice obteniendo con la consulta el id_centro, id_sala que no debes listar. y entonces listarias de tu tabla de salas/centros los que no esten incluios en la conulta anterior.

ahora bien el select de las reservas que anularian la tuya debe cumplir varias condiciones:
R.S = Reserva solicitada
R.C = Reserva Confirmada.

condicion (fecha_R.S=fecha_R.C AND (hora_fin_R.S>=hora_inicio_R.C OR hora_inicio_R.S<=hora_fin_R.C)

Esto basicamente te devolveria la id_sala inhabilitadas por tener reservas que se inician antes de la hora_fin_R.S o que terminan despues de la hora_inicio_R.S, obteniendo este listado para descartarlas despues de tu consulta de salas disponibles.

No se si te entendi y si me explique.

Si te parece biene sta guia por favor me dejas saber y abundo sobre el tema.

Saludos
  #3 (permalink)  
Antiguo 22/06/2009, 03:06
Avatar de jlmoreno31  
Fecha de Ingreso: mayo-2009
Ubicación: Barcelona
Mensajes: 174
Antigüedad: 15 años
Puntos: 2
De acuerdo Respuesta: Ayuda con sistema de reservas en php

Hola compañero. Si ,ahora he visto mejor la lógica de la busqueda según tu planteamiento. Pero me he dado cuenta que estaba realizando la lógica errónea. Es decir, el usuario quiere reservar una sala concreta (id_sala) en una fecha (fecha) con una hora de inicio y fin determinada. Por lo tanto, listaré todas las salas que no tengan coincidencia con esos datos exactos y ya está. Lo haré así porque creo que es la mejor solución. Otra cosa sería darle al usuario otras opciones de disponibilidad en otras horas del día. En ese caso si que sería necesario otra tabla y aplicar la lógica que muy bien has explicado.

Gracias por tu respuesta me ha servido para aclarar bastantes cosas.

Un saludo.
  #4 (permalink)  
Antiguo 22/06/2009, 03:08
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 65
Antigüedad: 21 años
Puntos: 2
Respuesta: Ayuda con sistema de reservas en php

Pues nada pa eso estamos.
  #5 (permalink)  
Antiguo 22/06/2009, 14:04
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Ayuda con sistema de reservas en php

Tema trasladado desde PHP
  #6 (permalink)  
Antiguo 25/06/2009, 19:28
 
Fecha de Ingreso: junio-2009
Mensajes: 32
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: Ayuda con sistema de reservas en php

Cita:
Iniciado por jlmoreno31 Ver Mensaje
Hola amigos,

Después de pasarme unos cuantos días volviendome loco, he decidido postear mi problema a ver que solución puede tener. Ante todo decir que no quiero que nadie me haga el código, sino encontrar a alguien que me de una idea de la lógica del problema. Os cuento:

Estoy haciendo una web para un colegio privado para gestionar sus salas de conferencias. Todo funciona bien pero hay un tema que no logro conseguir, almenos como quiero. Tengo una tabal en mysql llamada 'reservas' que contiene lo siguiente: id_reserva, id_usuario, id_centro, id_sala, fecha, hora inicio, hora_fin. Es una tabla donde se insertan las reservas de las diferentes salas de conferencia que tiene el centro. El problema es el siguiente: Tengo una página que tiene un buscador de disponibilidad y consta de lo siguiente: input text (Ciudad), fecha, hora inicio reserva, hora fin reserva. Cuando el usuario rellena el formulario éste llama a un archivo php 'results.php' el cual lista las salas que tiene libre según los datos insertados. El problema es que no se obtener la lógica de la búsqueda. Es decir, yo lo que hago es lo siguiente:

1. Realizo una consulta que obtenga aquellas salas en la ciudad indicada en la que coincidan todos los datos (ciudad, fecha , horainicio, horafin). y después con una condición, listo el resto de salas. De esa forma listaré todas las salas que no tengan coincidencia con los datos y por lo tanto esten libres. El resultado es nefasto porque hay salas que coinciden con los datos, pero que están libres una hora más tarde por ejemplo y no se listan.

Alguna idea sobretodo de la lógica de la búsqueda. Perdonad que sea tan largo pero es un poco complicado explicar con pocas palabras.

Gracias de antemano.
Esta no es la forma de desarrollar un proyecto de sistema. Primero tienes que contruir un Documento de Arquitectura de Software (SAD).

Lamentablemente la costumbre de improvisar una metodología, por así nos enseñan en las escuelas, garantiza poco éxito al proyecto.
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.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 21:54.