Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/12/2007, 09:40
Tio_Rafiki
 
Fecha de Ingreso: diciembre-2007
Mensajes: 8
Antigüedad: 16 años, 4 meses
Puntos: 0
ayuda con consulta, por favor

Buenas estoy haciendo una aplicacion para gestionar los recursos de mi universidad y tengo una duda al comprobar un dato. Tengo una parte de recursos, donde realizas la reserva del recurso, eligiendo una familia, un recursos, la fecha de la reserva, la hora del inicio y la hora del fin de la reserva. Ejemplo reserva de la familia recursos: aula, como recurso: aula 10, fecha de reserva: 2007-12-14, hora de inicio: 9:00 y hora de fin:11:00. Bien mi problema es el siguiente kiero ke al hacer la reserva compruebe ke si intenta reservar el mismo recurso en la misma fecha y hora, me diga que no puede y lo consegui de esta forma

$sql="SELECT id_nombre_recursos FROM reserva_recursos WHERE (id_nombre_recursos='$recurso' AND fecha_reserva='$fecha_reserva' AND hora_reserva_ini='$hora_inicio' AND hora_reserva_fin='$hora_fin')";

Mi problema, tras realizar realizar las pruebas con esa subconsulta es ke si elige el mismo dia dia, hora y fin, perfecto, el tema es, si la nueva reserva es de 10:00 a 12:00, pues con la consulta de arriba, me la aceptaria y me daria de alta la reserva, cuando teoricamente estaba ya ocupada de 9:00 a 11:00, pense esta otra consulta, pero no me funciona

$sql="SELECT id_nombre_recursos FROM reserva_recursos WHERE (id_nombre_recursos='$recurso' AND fecha_reserva='$fecha_reserva' AND ( hora_reserva_ini BETWEEN'$hora_inicio' AND '$hora_fin') AND ( hora_reserva_fin BETWEEN '$hora_inicio' AND '$hora_fin'))";

Me podrias ayudar a ver como podria hacer esa comprobacion ?

El dato de la hora es un varchar(5) kizas por eso no funciona con el between y tendria que ser del tipo time ? puede ser ese el fallo?

gracias y un saludo

Última edición por Tio_Rafiki; 14/12/2007 a las 09:52