funzione.php
Codice PHP:
<?php
function crea_Array($da,$a,$prezzo,$arr = ''){
global $arr;
for($i = strtotime($da); $i<=strtotime($a); $i = strtotime("+1 day",$i)) {
$arr[date('Y-m-d',$i)] = $prezzo;
}
return $arr;
}
function converti($abbonamento) {
global $abbonamento;
$i = 0;
foreach($abbonamento as $chiave => $valore) {
$nuovo[$i] = $chiave; $i++;
}
return $nuovo;
}
function costo_Abbonamento($nuovo,$stagione){
$totale = 0;
foreach($nuovo as $giorno){
// se il giorno dell'abbonamento corrisponde alla chiave dell'array stagionale aggiungo al totale
// il prezzo corrispondente
if(array_key_exists($giorno,$stagione))
$totale+= $stagione[$giorno];
}
return $totale;
}
$iniz_stagione1 = "2006-09-09";
$fine_stagione1 = "2006-09-20";
$iniz_stagione2 = "2006-09-21";
$fine_stagione2 = "2006-10-10";
$iniz_stagione3 = "2006-10-11";
$fine_stagione3 = "2006-10-20";
$iniz_stagione4 = "2006-10-21";
$fine_stagione4 = "2006-10-31";
// Setto le mie costanti relative ai prezzi stagioniali
define("PREZZO_STAGIONE1",35);
define("PREZZO_STAGIONE2",40);
define("PREZZO_STAGIONE3",45);
define("PREZZO_STAGIONE4",30);
// Richiamo la funzione per crearmi l'array con tutte le date stagionali
$stagione = crea_Array($iniz_stagione1,$fine_stagione1,PREZZO_STAGIONE1);
$stagione = crea_Array($iniz_stagione2,$fine_stagione2,PREZZO_STAGIONE2);
$stagione = crea_Array($iniz_stagione3,$fine_stagione3,PREZZO_STAGIONE3);
$stagione = crea_Array($iniz_stagione4,$fine_stagione4,PREZZO_STAGIONE4);
?>
pagina che recupera i valori dal form
Codice PHP:
<?php
include('funzione.php');
// qui recuperi le date dal form. fai tutti i tuoi controlli sulla validità dei campi e vedi se usare un campo, tre campi da concatenare o come preferisci
$inizio_abb = $_POST['inizio'];
$fine_abb = $_POST['fine'];
$abbonamento = crea_Array($inizio_abb,$fine_abb,0,$arr =array() );
$abbonamento = converti($abbonamento);
$prezzo = costo_Abbonamento($abbonamento,$stagione);
echo $prezzo;
?>