Ciao a tutti,
sono nuovamente a chiedere il vostro aiuto, nella speranza che questo post possa essere utile anche per altri.
sto realizzando un form iscrizione dove devo inserire una serie di giorni compresi fra due date.
ho trovato questo script che funziona al caso mio e cioè inserendo la data iniziale e quella finale stampa tutti i giorni di intervallo.
collegato ad una classe che ne determina il corretto funzionamentoCodice PHP:
include('ClassMakeDayslist.class.php');
// example
$wDateStart = "2012-03-11"; // the start date
$wDateEnded = "2012-04-07"; // the end date
$wDateType = "normaldate"; // options - timestamp (1331938800) / normaldate ( 2012-04-07 )
$dt = new DateTimeTransform();
$dt->setDateStart($wDateStart);
$dt->setDateEnded($wDateEnded);
$dt->setDateType($wDateType);
$listdate = $dt->GenerateDaysList(); // generate array list
foreach($listdate as $value){
echo $value."
"; // print all days
}
Ora io vorrei che i valori iniziale e finale fossero ripresi da un campo input presente nel mio form senza dover ricaricare la pagina in quanto ho altri dati che non devono essere cancellati.Codice PHP:
class DateTimeTransform {
private $sDateStart;
private $sDateEnded;
private $sDateType;
private $slistDate;
public function __construct() { }
public function setDateStart($sDateStart){
$this->sDateStart = $sDateStart;
}
public function setDateEnded($sDateEnded){
$this->sDateEnded = $sDateEnded;
}
public function setDateType($sDateType){
$this->sDateType = $sDateType;
}
function GenerateDaysList(){
$CCS = strtotime($this->sDateStart); // convert from date to timestamp
$CCE = strtotime($this->sDateEnded); // convert from date to timestamp
$CCTOTAL = $CCE - $CCS; // make diference of timestamp
$CCDAYS = ceil($CCTOTAL/86400)+1; // return max days
for($i=0;$i<$CCDAYS;$i++){
$this->slistDate = ($CCS+($i*86400));
if($this->sDateType=="timestamp"){
$timestamp_alldays[]=$this->slistDate; //timestamp
}
else if($this->sDateType=="normaldate"){
//$timestamp_alldays[] = date("Y-m-d H:i:s",$timestamp_alldays[$i]); // convert from timestamp to date
$timestamp_alldays[] = date("d-m-Y",$this->slistDate); // convert from timestamp to date
}
//
}
return $timestamp_alldays;
} // end method
} // end class
Pensavo di farlo con ajax ma non so proprio da dove iniziare.
Sapete indicarmi la strada?
Grazie