Problema con consulta php y mysql
Publicado por rodrigo (2 intervenciones) el 26/12/2016 21:14:20
Que tal buen día, espero darme a entender
Estoy realizando un buscador para reserva de salas
Horario, Reservas y Salas en las cuales tengo dentro de ellas
tabla horario
idhorario horario
1 8:00
2 8:30
3 9:00
4 10.00
5 11.00
Reservas
idreservas idsala fecha HorarioInicia HorarioTermina
1 1 2016-12-20 1 4
2 2 2016-12-20 4 5
salas
idsala sala
1 sala1
2 sala2
3 sala3
Estas son mis tablas de forma resumida y lo que quiero es un buscador que de reservación de sala, por sugerencia de sala, a partir de fecha, hora y disponiblidad.
para esto tengo un formulario con los campos, fecha, hora de inicio y final y por ultimo un boton de envìar
Estè es mi formulario:
Y esta es mi consulta
mis datos los paso por POST
Hasta el momento ya he logrado con esa consulta que me muestre las salas disponibles en esa fecha y en las horas tambièn pero el problema que tengo
es que cuando por ejemplo busco la sala que estè disponible entre el horario 2 a 3, si se me vizualiza aunque la sala este ocupada del 1 al 4, no se si me di a explicar bien
y espero me puedan ayudar. Saludos.
Estoy realizando un buscador para reserva de salas
Horario, Reservas y Salas en las cuales tengo dentro de ellas
tabla horario
idhorario horario
1 8:00
2 8:30
3 9:00
4 10.00
5 11.00
Reservas
idreservas idsala fecha HorarioInicia HorarioTermina
1 1 2016-12-20 1 4
2 2 2016-12-20 4 5
salas
idsala sala
1 sala1
2 sala2
3 sala3
Estas son mis tablas de forma resumida y lo que quiero es un buscador que de reservación de sala, por sugerencia de sala, a partir de fecha, hora y disponiblidad.
para esto tengo un formulario con los campos, fecha, hora de inicio y final y por ultimo un boton de envìar
Estè es mi formulario:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<form action="prueba-envio.php" name="formFechasSalas" method="post" id="formulario">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="middle" class="Azul12"><strong>Seleccione la fecha que desea reservar.</strong>
<input name="FechaSala" type="text" class="Gris10" id="FechaSala" size="10">
</td>
</tr>
<tr>
<td style="padding: 8px 0;">Horario:
De las
<select name="HoraSalaInicia" id="">
<?php
require_once('Connections/lib.php');
conectar_base();
seleccionar_base();
$restulBlogs=mysql_query("SELECT * FROM horarios_sala");
while ($row = mysql_fetch_array($restulBlogs)) {
?>
<option value="<?php echo $row['IdHorario']; ?>"><?php echo $row['Horario']; ?></option>
<?php } ?>
</select>
a
<select name="HoraSalaTermina" id="">
<?php
require_once('Connections/lib.php');
conectar_base();
seleccionar_base();
$restulBlogs=mysql_query("SELECT * FROM horarios_sala LIMIT 1,25");
while ($row = mysql_fetch_array($restulBlogs)) {
?>
<option value="<?php echo $row['IdHorario']; ?>"><?php echo $row['Horario']; ?></option>
<?php } ?>
</select>
</td>
<td><input type="submit" id="btnEnviar" name="btnEnviar" value="Buscar Sala"></td>
</tr>
<tr>
<td>
<div class="respuesta"></div></div>
</td>
</tr>
</table>
</form>
Y esta es mi consulta
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
conectar_base();
seleccionar_base();
$resultTiendas=mysql_query("SELECT salas.sala, salas.idsala from salas where salas.idsalas NOT IN(
SELECT resercas.IdSala FROM reservas WHERE reservas.IdHorarioTermina = horarios.IdHorario AND reservas.fecha='$fechaSala' AND (reservas.IdHorarioInicia BETWEEN $HoraSalaInicia AND $HoraSalaTermina OR
reservas.IdHorarioTermina BETWEEN $HoraSalaInicia AND $HoraSalaTermina))");
if(mysql_num_rows($resultTiendas) == 0){
echo' <div class="contenidoAviso">
No se encuentran salas disponibles para el horario seleccionado, intentar con otro.
</div>
';
}
while($row=mysql_fetch_array($resultTiendas)){
?>
1
2
3
4
$fechaSala = $_POST['FechaSala'];
$HoraSalaInicia = $_POST['HoraSalaInicia'];
$HoraSalaTermina = $_POST['HoraSalaTermina'];
$NoPersonasSala = $_POST['NoPersonasSala'];
Hasta el momento ya he logrado con esa consulta que me muestre las salas disponibles en esa fecha y en las horas tambièn pero el problema que tengo
es que cuando por ejemplo busco la sala que estè disponible entre el horario 2 a 3, si se me vizualiza aunque la sala este ocupada del 1 al 4, no se si me di a explicar bien
y espero me puedan ayudar. Saludos.
Valora esta pregunta


0