Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/01/2014, 11:15
Sandiuga
 
Fecha de Ingreso: febrero-2013
Mensajes: 21
Antigüedad: 11 años, 9 meses
Puntos: 0
Habilitar,desabilitar radio por rango de fechas

Estimados tengo la siguiente duda de como hacer una validacion por tiempo en formulario tipo encuesta que estoy haciendo

tengo una consulta que me carga datos de los usuarios en una grilla
luego en un radio buton le mando variables a otra pagina para que me carge con esas variables los datos
personales y las preguntas del usuario que quiero evaluar
lo que necesito hacer es que cuando ya evalué a un usuario , no poder evaluarlo de nuevo
eso lo logro con un una consulta si esta evaluado en la tabla solo muestro un label que dice 'usuario evaluado'sino muestro el radiobuton y lo mando al formulario

pero este tema de las evaluaciones se haran cada 3 meses entonces ademas necesito hacer que una vez se evalue los usuarios desabilitar el radionbuton por 3 meses y que luego se vuelva a habilitar(entonces la primera consulta ya no me sirve porque siempre estara evaluado y necesito evaluarlo de nuevo)
he estado buscando y se puede hacer con dandole un rango de tiempo a la fecha en php algo como un contador de tiempo
entonces lo que necesito es ademas de validar que no evalúen a un usuario que ya lo esta
que se vuelva activar dentro de 3 meses
la evaluacion debe estar estara activa 10 dias
en el ejemplo que encontre como deberia juntarlo con el mio para a si tener las dos validaciones ?
cualquier aporte sirve
Saludos--

CODIGO

Código PHP:
Ver original
  1. <?php
  2.  
  3. $cadena="SELECT  DEPARTAMENTO,NOMBRES,CARGO,ID_RUT,SUCURSAL
  4.             FROM TRABAJADORES ";
  5.              
  6.              
  7. $ctn = oci_parse ($conexion, $cadena);
  8. oci_execute ($ctn);
  9.  
  10.  echo "<table width='250'>
  11.  
  12.         <tr>
  13.         <th>Nº</th>    
  14.         <th>CARGO</th>
  15.         <th>RUT</th>
  16.         <th>NOMBRE</th>
  17.         <th>ESTADO</th>
  18.         <th>EVALUAR</th>
  19.  
  20.         </tr>";
  21.  
  22. $fecha = date("d/m/Y");
  23.  
  24. while($row = oci_fetch_array($ctn))
  25.   {
  26.    
  27.  
  28.    echo "<tr class='alt'>";
  29.          
  30.           echo "<td>" . $fila['DEPARTAMENTO'] . "</td>";
  31.           echo "<td>" . $fila['NOMBRES'] . "</td>";              
  32.           echo "<td>" . $fila['CARGO'] . "</td>";
  33.           echo "<td>" . $ids=$fila['ID_RUT'] . "</td>";
  34.           echo "<td>" . $fila['SUCURSAL'] . "</td>";
  35.  
  36.  
  37.  //if($fecha == "27/12/2013"){
  38.     //   echo "<td> <input type='radio'value='redirect' disabled='disabled' onClick=\"location.href='evaluar_personal.php?id=".$row['ID_RUT']."'\"></td>"; 
  39.  //}else{
  40.        
  41.          
  42.           $cadena = "SELECT * FROM EVAL_TRABAJADOR WHERE FECHA_EVAL IS NOT NULL  AND ID_RUT = '".$ids."'";
  43.           $ctn = oci_parse($conexion, $cadena);
  44.           oci_execute($ctn);
  45.           $valida = oci_fetch_all($ctn, $respuesta);
  46.          
  47.           if ($valida == 0){
  48.             echo "<td> <input type='radio'value='redirect' onClick=\"location.href='evaluar_personal.php?id=".$row['ID_RUT']."'\"></td>";  
  49.        
  50.           $tabla = true;
  51.        
  52.           }else{
  53.              
  54.             echo "<td><label >EVALUADO</label> </td>"; 
  55.            
  56.  
  57.           }                                      
  58.  //}
  59.   echo "</tr>";  
  60.   }
  61.  
  62.   echo "</table>";


EJEMPLO QUE ENCONTRE

Código PHP:
Ver original
  1. /**
  2.  * Verifica que una fecha esté dentro del rango de fechas establecidas
  3.  * @param $start_date fecha de inicio
  4.  * @param $end_date fecha final
  5.  * @param $evaluame fecha a comparar
  6.  * @return true si esta en el rango, false si no lo está
  7.  */
  8. function check_in_range($start_date, $end_date, $evaluame) {
  9.     $start_ts = strtotime($start_date);
  10.     $end_ts = strtotime($end_date);
  11.     $user_ts = strtotime($evaluame);
  12.     return (($user_ts >= $start_ts) && ($user_ts <= $end_ts));
  13. }
  14.  
  15.  
  16. $start_date = '2010-06-01';
  17. $end_date = '2010-06-30';
  18. $fecha_a_evaluar = '2010-06-15';
  19.  
  20. if (check_in_range($start_date, $end_date, $fecha_a_evaluar)) {
  21.     echo "estas en rango";
  22. } else {
  23.     echo "fuera de rango";
  24. }