Ver Mensaje Individual
  #6 (permalink)  
Antiguo 01/06/2011, 16:19
Avatar de Potro
Potro
 
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años, 7 meses
Puntos: 39
Respuesta: problema con validacion de horios php

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 original
  1. SELECT COUNT(*) AS Total FROM tbl_trabajorealizado
  2. 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
  1. //horas del curso que quieren ingresar
  2. $Hi = $_GET['HI'];
  3. $Hf = $_GET['HF'];
  4.  
  5. //recorset de mis registros del dia
  6. while($row = mysql_fetch_array($SQL)){
  7.            
  8.                                 //Obtengo la hora ini y hora fin de cada registro    
  9.                 $HoraIni = $row['HI'];
  10.                 $HoraFin = $row['HF']; 
  11.                
  12.                                 ///Comparo
  13.                 if($Hi < $HoraIni && $Hf <= $HoraIni){
  14.                     //Si cumple no sumo nada
  15.                                          $coincide = $coincide+0;
  16.                 }elseif($Hi >= $HoraFin && $Hf > $HoraFin){
  17.                     //Si cumple no sumo nada
  18.                     $coincide = $coincide+0;
  19.                 }else{
  20.                                         //Si no cumple alguna de las dos anteriores entonces sumo 1 a las coincidencias
  21.                     $coincide = $coincide+1;
  22.                 }
  23.            
  24.             }



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..
__________________
Paginación en FLASH,

http://www.forosdelweb.com/f62/pagin...o-aqui-540241/