Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/09/2010, 09:30
Avatar de jimadri
jimadri
 
Fecha de Ingreso: julio-2006
Ubicación: Buenos Aires
Mensajes: 487
Antigüedad: 20 años, 2 meses
Puntos: 1
Actualizar campo

Hola, tengo lo siguiente:

Código PHP:
<form id="form1" name="form1" method="post" action="pruebas.php">
  <
p>
    <
input type="text" name="fecha1" id="fecha1" />
  
desde </p>
  <
p>
    <
input type="text" name="fecha2" id="fecha2" />
  
hasta</p>
  <
p>
    <
input type="text" name="textfield" id="textfield" />
  
dias solicitados</p></form></body>
</
html> 
el trabajo que estoy haciendo tiene que ver con un sistema de licencias ordinarias (vacaciones).
La idea es un formulario donde se ingrese la fecha de inicio y final de la licencia y que en otro campo se pueda ver la cantidad de dias que la persona en cuestion está solicitando.

El script que utilizo para procesar las fechas es el siguiente:

Código PHP:
<?
$campo_fecha1 
= $_POST['fecha1'];
list(
$dia10,$mes10,$año10) = explode('/',$campo_fecha1);
$tiempo = mktime ( 0 ,0, 0, $mes10 , $dia10 , $año10);

$campo_fecha2 = $_POST['fecha2'];
list(
$dia20,$mes20,$año20) = explode('/',$campo_fecha2);
$tiempo = mktime ( 0 ,0, 0, $mes20 , $dia20 , $año20);

//defino fecha 1 
$ano1 = $año10; 
$mes1 = $mes10; 
$dia1 = $dia10; 

//defino fecha 2 
$ano2 = $año20; 
$mes2 = $mes20; 
$dia2 = $dia20;

//calculo timestam de las dos fechas 
$campo_fecha1 = mktime(0,0,0,$mes1,$dia1,$ano1); 
$campo_fecha2 = mktime(4,12,0,$mes2,$dia2,$ano2); 

//resto a una fecha la otra 
$segundos_diferencia = $campo_fecha1 - $campo_fecha2; 
//echo $segundos_diferencia; 

//convierto segundos en días 
$dias_diferencia = $segundos_diferencia / (60 * 60 * 24); 

//obtengo el valor absoulto de los días (quito el posible signo negativo) 
$dias_diferencia = abs($dias_diferencia); 

//quito los decimales a los días de diferencia 
$dias_diferencia = floor($dias_diferencia); 

echo 
$dias_diferencia; 
?>
Que deberia agregarle para que en el tercer campo del formulario se pueda ver los dias solicitados antes de enviar los datos.