Foros del Web » Programando para Internet » PHP »

validar fechas y empalme de horarios

Estas en el tema de validar fechas y empalme de horarios en el foro de PHP en Foros del Web. Necesito validar que las fechas y los horarios no se empalmen o encimen... envio a la funcion la variable $codigo, que es la que arroja ...
  #1 (permalink)  
Antiguo 21/02/2008, 12:48
 
Fecha de Ingreso: noviembre-2007
Mensajes: 25
Antigüedad: 16 años, 5 meses
Puntos: 1
Exclamación validar fechas y empalme de horarios

Necesito validar que las fechas y los horarios no se empalmen o encimen...
envio a la funcion la variable $codigo, que es la que arroja el formulario, hago un explode para validar pero no se porque simplemente no me marca ningun error... la variable $row_a es el record set de la base de datos donde encuentro el codigo... si alguien tiene algun código que me ayude o me puede ayudar a completar mi codigo muchas gracias

Código PHP:
    function valid($codigo){
        
$c explode("*",$codigo);
        
$sala $c[0];
        
$fecha $c[1];
        
$horaI $c[2];
        
$horaF $c[3];
        echo 
$c[0];
        echo 
substr($c[2],0,2);
        do{
            if(
$codigo $row_a['codigo']){
                echo 
'<script language="javascript" type="text/javascript">';
                echo 
'alert("Ya existe un evento programado con ese horario para esa fecha");';
                echo 
'history.back();';
                echo 
'</script>';
                exit();
            }
            
$code explode("*",$row_a['codigo']);
            if(
$c[0] == $code[0]){
                if(
$c[1] == $code[1]){
                    if(
substr($c[2],0,2) < substr($code[2],0,2) && substr($c[3],0,2) > substr($code[2],0,2)){
                        echo 
'<script language="javascript" type="text/javascript">';
                        echo 
'alert("La hora del evento se empalma");';
                        echo 
'history.back();';
                        echo 
'</script>';
                        exit();
                    }
                }
            }        
        }while(
$row_a mysql_fetch_assoc($a));    
    } 
  #2 (permalink)  
Antiguo 22/02/2008, 06:14
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: validar fechas y empalme de horarios

Lo que tenés que confirmar es que no haya ningún evento que empiece "entre" otro evento programado.

Supongo que tendrás $fecha_inicio y $fecha_fin para validar, y que cada evento ya programado tiene los mismos datos en la bd.

Por tanto, tenés que validar que:
- el nuevo no empiece en medio de otro
- el nuevo no termine en medio de otro
Esto podría ser suficiente si tenés duraciones fijas para los eventos, de no ser el caso necesitás también validar que

- ninguno de los viejos tenga fecha de inicio entre la fecha de inicio del nuevo y la fecha de fin

Código PHP:
SELECT [campoFROM [tabla]
WHERE $fecha_inicio BETWEEN [campo_fecha_inicio] AND [campo_fecha_fin]
OR 
$fecha_fin BETWEEN [campo_fecha_inicio] AND [campo_fecha_fin]
OR 
campo_fecha_inicio BETWEEN $fecha_inicio AND $fecha_fin 
Si eso te devuelve al menos un resultado, tenés una superposición.
Eso es lo que he entendido de tu problema, ya que no has dejado muchos detalles.


Saludos.
  #3 (permalink)  
Antiguo 22/02/2008, 13:20
 
Fecha de Ingreso: noviembre-2007
Mensajes: 25
Antigüedad: 16 años, 5 meses
Puntos: 1
Re: validar fechas y empalme de horarios

Gracias alvlin... creo que me estaba ahogando en un vaso con agua pero ya con este select que me pasaste creo que se soluciona el problema... ando haciendo pruebas y parece que todo esta bien
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:47.