Salve a tutti ho un problema con la creazione e l'esecuzione di una funzione all'interno di una funzione!
Praticamente io ho questo codice (FUNZIONANTE)
codice:
//Estrai l'ordine degli elementi
$nomi = $_POST['elementi'];
//Calcola Periodo
$begin = new DateTime($_POST['data1']);
$end = new DateTime($_POST['data2']);
$end = $end->modify( '+1 day' );
$interval = new DateInterval('P1D');
$daterange = new DatePeriod($begin, $interval ,$end);
$count =0
//Compila database
foreach ($daterange as $giorno) {
$day = $giorno->format("Y-m-d");
$nomifarmacie = addslashes($nomi[$count % count($nomi)]);
$query = $pdo->query("UPDATE $tabella_calendario SET Farmacia='$nomifarmacie' WHERE Data='$day'");
$count++;
}
Adesso, siccome ho vari Submit in cui avviene ogni volta quasi la stessa cosa ma ogni volta con qualche variabile e operazioni diverse, vorrei creare una funzione ma ho riscontrato vari problemi
codice:
//QUESTA FUNZIONE VIENE ESEGUITA CORRETTAMENTE
function CalcolaPeriodo($DataIniziale, $DataFinale) {
$begin = new DateTime($DataIniziale);
$end = new DateTime($DataFinale);
$end = $end->modify( '+1 day' );
$interval = new DateInterval('P1D');
return $Periodo = new DatePeriod($begin, $interval ,$end);
}
//Il problema risiede in questa funzione qui! Praticamente
function Cicla($Periodo, $FarmacieRiordinate, $Query) {
global $tabella_calendario, $count; //Di queste variabili si pu� fare l'echo quindi sono funzionanti
print_r($FarmacieRiordinate) //� un array e il print funziona correttamente
foreach ($Periodo as $giorno) {
$day = $giorno->format("Y-m-d");
$NomiFarmacie = addslashes($FarmacieRiordinate[$count % count($FarmacieRiordinate)]);
echo $day; //� corretto
echo $NomiFarmacie; //� corretto
print_r($Query); //Il problema risiede qui: Posto una porzione di output in basso
$count++;
}
}
$FarmacieRiordinate = $_POST['elementi'];
$DataIniziale = $_POST['data1'];
$DataFinale = $_POST['data2'];
$Query = ("UPDATE $tabella_calendario SET Farmacia='$NomiFarmacie' WHERE Data='$day'");
Cicla(CalcolaPeriodo($DataIniziale, $DataFinale), $FarmacieRiordinate, $Query);
OUTPUT print_r($Query):
codice:
UPDATE calendario SET Farmacia='Array' WHERE Data='1546297200'
UPDATE calendario SET Farmacia='Array' WHERE Data='1546297200'
UPDATE calendario SET Farmacia='Array' WHERE Data='1546297200'
UPDATE calendario SET Farmacia='Array' WHERE Data='1546297200'
UPDATE calendario SET Farmacia='Array' WHERE Data='1546297200'
UPDATE calendario SET Farmacia='Array' WHERE Data='1546297200'
UPDATE calendario SET Farmacia='Array' WHERE Data='1546297200'
UPDATE calendario SET Farmacia='Array' WHERE Data='1546297200'
UPDATE calendario SET Farmacia='Array' WHERE Data='1546297200'
UPDATE calendario SET Farmacia='Array' WHERE Data='1546297200'
Come posso risolvere? Grazie