Ver Mensaje Individual
  #5 (permalink)  
Antiguo 06/09/2007, 02:35
uribcn
 
Fecha de Ingreso: septiembre-2007
Mensajes: 3
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Gestionar fechas

Primero de todo quería pedir disculpas por utilizar la palabra absurda que quizas ha contribuido a crear un ambiente tenso en este post. Sin embargo, la respuesta sarcastica que recibi me hizo salirme de mis casillas.
Dicho esto para ilustrar mejor el problema al que me enfrento es una buena idea visitar por ejemplo www.booking.com. Alli, como en mi pagina web aparece un formulario donde el usuario introduce el lugar donde busca el hotel y las fechas en las que quiere hospedarse. Mi formulario tiene algunos campos más pero no son relevantes.
La estructura de mi db es ID (tinyint), nombredb(varchar), lugardb(varchar), preciodb(smallint) y algunos más. Ademas de estos campos tambien es necesario introducir unos campos donde guardar las fechas en las que cada hotel se encuentra ocupado. Aqui radica el problema ya que aun no he encontrado la forma más eficiente de hacer esto. Cada fila representa a un hotel con sus datos básicos. El numero de columnas supera el millar.
El select no os lo puedo poner porque se construye en base a los datos que introduce el usuario en el formulario. Es decir, si por ejemplo solo rellena en el formulario el campo 'precio' el select sera select * from tabla where preciodb<=precio.
Si hubiera introducido el precio y el lugar el select seria-> select * from tabla where preciodb<=precio and lugardb=lugar.

La respuesta anterior si no entiendo mal crearia una estructura de datos (simplificada) como la siguiente: ID,nombre,lugar,precio,inicio y fin, donde inicio y fin son campos tipo fecha. Pero el problema aqui es que solo podría guardar un solo intervalo en el que el hotel se encontrase ocupado. A no ser que inicio y fin fueran un vector de campos tipo fecha. Existen vectores en mysql?
De no existir, que sinceramente no tengo ni idea, entonces la solucion seria crear tantos pares inicio fin como hicieran falta. Pero hay un problema basico:
El numero de pares puede ser muy elevado haciendo que la busqueda se ralentice mucho.
Imaginemos que el usuario solo quiere buscar hoteles segun la disponibilidad y el lugar. La consulta se demoraría demasiado.