Bueno aqui la cosa es validat una fecha completa supongo ya que puedo tener dos cursos de 8 a 10 am pero 1 el 1 de junio y el otro el 2 de junio..
no solo validar horas..
Bueno esto yo una ves lo hice y se me ocurrio algo muy facil, maneje las horas como horas militares..
ejemplo
las 13:30 horas obvio en hora militar seria las 1330 solo se quitan lo : bueno con esto yo puedo hacer rapida mente mis validaciones ejemplo
si tengo un curso el 1/06/2011 14:00 a 16:00 ***** que es lo que hago primero valido si ya hay cursos en ese dia::
Código SQL:
Ver originalSELECT COUNT(*) AS Total FROM tbl_trabajorealizado
WHERE YEAR(dt_FechaTrabajo) = "2010" AND MONTH(dt_FechaTrabajo) = "07" AND DAY(dt_FechaTrabajo) = "31"
Si el resultado es 0 pues no hago mas validaciones pongo el curso a la hora seleccionada ya que todo el dia esta vacio..
Bueno que pasa si me sale 1 o mas..
Ahi empiezo a obtener la hora de inicio como hora fin de cada registro de ese dia y empiezo a validar..
Yo hago lo siguiente:::
obtengo mis resultados y hago validaciones
Código PHP:
Ver original//horas del curso que quieren ingresar
$Hi = $_GET['HI'];
$Hf = $_GET['HF'];
//recorset de mis registros del dia
//Obtengo la hora ini y hora fin de cada registro
$HoraIni = $row['HI'];
$HoraFin = $row['HF'];
///Comparo
if($Hi < $HoraIni && $Hf <= $HoraIni){
//Si cumple no sumo nada
$coincide = $coincide+0;
}elseif($Hi >= $HoraFin && $Hf > $HoraFin){
//Si cumple no sumo nada
$coincide = $coincide+0;
}else{
//Si no cumple alguna de las dos anteriores entonces sumo 1 a las coincidencias
$coincide = $coincide+1;
}
}
Al ultimo comparo la variable $coincide si es 0 entonces puede entrar el nuevo registro si es 1 o mayor obvio no entra y muestro mensaje de duplicidad de horario..
saludos..