Quiero verificar en mi base que el rango de las horas ingresadas no se encuentren en el rango de uno ya almacenado, tampoco que se repitan el mismo rango de horas y por ultimo que no permita ingresar una de las horas entre alguno de los rangos ya almacenados. Siento ser muy redundante pero creo que asi se entiende mejor.
Adjunto el codigo que tengo:
Código PHP:
<?php
session_start();
require ('/config.php');
$link = mysqli_connect("$hotsdb","$usuariodb","$clavedb") or die(mysqli_error());
mysqli_select_db( $link, 'calendario');
$banda = mysqli_real_escape_string($link,$_POST['nombre']);
$start = mysqli_real_escape_string($link,$_POST['start']);
$end = mysqli_real_escape_string($link,$_POST['end']);
$telf = mysqli_real_escape_string($link,$_POST['telf']);
if ($banda == null || $start == null || $end == null || $telf == null)
{
echo '<span>Por favor complete todos los campos.</span>';
mysqli_close($link);
}
else
{
$verif1=strtotime ( '+1 hours' , strtotime ( $start ) ) ;
$hora1= date ( 'Y-m-d H:i:s' , $verif1 );
$verif2=strtotime ( '-1 hours' , strtotime ( $end ) ) ;
$hora2= date ( 'Y-m-d H:i:s' , $verif2 );
$consulta="SELECT * from calendar WHERE start AND end BETWEEN '".$hora1."' AND '".$hora2."'";
$consulta2="SELECT * from calendar WHERE start = '".$start."' AND end = '".$end."'";
$consulta3="SELECT * from calendar WHERE start AND end BETWEEN '".$start."' AND '".$end."'";
$resultfecha=mysqli_query($link, $consulta) or die (mysql_error());
$resultfecha2=mysqli_query($link, $consulta2) or die (mysql_error());
$resultfecha3=mysqli_query($link, $consulta3) or die (mysql_error());
if (mysqli_num_rows($resultfecha2) != 0) {
echo '<span>Horas ya reservadas, eliga otras. </span>';
} else {
if (mysqli_num_rows($resultfecha3) != 0) {
echo '<span>Las horas elegidas interfieren con otras. </span>';
mysqli_close($link);
} else {
if (mysqli_num_rows($resultfecha) != 0){
$sql = "INSERT INTO calendar (title,start,end,telf) VALUES ('$banda','$start','$end','$telf')";
$result = mysqli_query($link, $sql);
echo '<span>¡Reserva realizada!</span>';
mysqli_close($link);
} else {
echo '<span> Las horas elegidas interfieren con otras reservas. </span>';
mysqli_close($link);
}
}
}
}
?>
Muchas gracias y saludos!