Ver Mensaje Individual
  #4 (permalink)  
Antiguo 18/10/2010, 11:42
Avatar de repara2
repara2
 
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: ayuda con asignar fecha a una cita medica

trini, te paso un ejemplo completo, una vez que lo hayas probado quita los echo y modifica como quieras.
El default_time_zona deberías dejarlo para evitar warnings.
Fíjate que utilizo time() en vez de mktime() porque así lo recomienda el manual.
A ver si sirve, saludos

Código PHP:
<?php

error_reporting 
E_ALL );
ini_set "display_errors");
date_default_timezone_set 'Europe/Madrid' );


/**
 * Establecemos unos días permitidos, o sea, los dias laborables
 * en este caso, de lunes a viernes, de 1 a 5. Esta combinación se puede cambiar a gusto.
 * El programa acepta cualquier combinación respetando el índice Lunes: 1, Domingo: 7
 */

$dias = array(1,2,3,4,5); //Los dias permitidos, en nuestro caso los laborables. Los dias se cuentan de 1 a 7 empezando por el Lunes
$suma 12//Los dias que se deben sumar

//Comprobamos los días válidos, es decir, si hoy + 1 dia es sábado, entonces no vale, hay que pasar el dia válido siguiente que es el lunes
$dias_validos = array();

//por cuantos dias quiero sumar, hago una pasada para comprobar si la suma cae en un día válido
for ($i=$suma;$i>0;$i--){
    if(!
in_array(date("N"time() + (86400 $i)), $dias)) {echo "<h3>El día ".date("D Y-m-d"time() + (86400 $i))." no es válido</h3>"; continue;}    //Si no está en la lista no es válido, paso al siguiente día
    //Este días es bueno, lo agrego a los dias validos
    
$dias_validos[] = time() + (86400 $i);
}

//Ordenos los resultados
asort($dias_validos);

//Salida por pantalla
echo "<h3>Los días válidos son</h3>";
foreach (
$dias_validos as $f){
    echo 
date("D Y-m-d"$f)."<br>";
}
?>