Ciao a tutti,
sono nuovo del forum e del mondo php al quale ho dovuto - causa forza maggiore - avvicinarmi per cui vi chiedo clemenza per eventuali errori banali
Ho bisogno di una mano con uno script che sto tentando (invano) di finire
In pratica partendo da un dato e una data , a seconda del frazionamento contenuto nella variabile $data06 dovrò creare e inserire in una tabella MySQL il dato replicato con N date
Per esempio se $data06 = “annuale” e $data03 = “2019/01/01”
Il programma dovrà creare 5 scadenze annuali :
2019/01/01
2020/01/01
2021/01/01
2022/01/01
2023/01/01
Se $data06=“semestrale” dovrà crearmi 10 scadenze intervallate di 6 mesi in 6 mesi , sempre fino al 2023/01/01 ...
Purtroppo però ho necessità che la variabile $data03 sia una stringa e non riesco a convertire da data a stringa e pertanto nella parte finale del codice va in errore e mi inserisce (nel caso di frazionamento annuale, solo le prime 2 annualità)
Spero di essere stato abbastanza chiaro :
Questo è lo spezzone di codice incriminato
con queto cosdice, mi inserisce solo due record e poi esce dallo script
come posso risolvere?
mille grazie a chi mi aiuterà
francesco
sono nuovo del forum e del mondo php al quale ho dovuto - causa forza maggiore - avvicinarmi per cui vi chiedo clemenza per eventuali errori banali
Ho bisogno di una mano con uno script che sto tentando (invano) di finire
In pratica partendo da un dato e una data , a seconda del frazionamento contenuto nella variabile $data06 dovrò creare e inserire in una tabella MySQL il dato replicato con N date
Per esempio se $data06 = “annuale” e $data03 = “2019/01/01”
Il programma dovrà creare 5 scadenze annuali :
2019/01/01
2020/01/01
2021/01/01
2022/01/01
2023/01/01
Se $data06=“semestrale” dovrà crearmi 10 scadenze intervallate di 6 mesi in 6 mesi , sempre fino al 2023/01/01 ...
Purtroppo però ho necessità che la variabile $data03 sia una stringa e non riesco a convertire da data a stringa e pertanto nella parte finale del codice va in errore e mi inserisce (nel caso di frazionamento annuale, solo le prime 2 annualità)
Spero di essere stato abbastanza chiaro :
Questo è lo spezzone di codice incriminato
PHP:
switch ($data06) {
case 'annuale':
$numrate = 5;
$aumdata = "+12 months";
break;
case 'semestrale':
$numrate = 10;
$aumdata = "6 month";
break;
default:
echo "errore nel frazionamento";
break;
}
//IMPORTO IL PRIMO DATO COSì COME è, QUINDI LA PRIMA SCADENZA
$sql = "INSERT into $nometb (
nominativo, scadenza
) values (
'$data01', '$data03'
)";
if ($conna->query($sql) === TRUE) {} else {die('ERRORE NELL\'IMPORTAZIONE'. $conna->error); }
//CREO ED IMPORTO LE RATE SUCCESSIVE
$newDate = date_create($data03);
for ($mul = 2; $mul <= $numrate; ++$mul) {
$datanuova = date_create($data03);
$datanuova->modify($aumdata);
$datanuova->format('yy/m/d');
$newDate = $datanuova->format('yy/m/d');
$sql = "INSERT into $nometb (
nominativo, scadenza
) values (
'$data01', '$newDate'
)";
//QUI C'E' l'errore perche' dovrei convertire la data $newDate in stringa per ricominciare il ciclo
//ed ho la necessita' che $data03 sia una stringa !!
$data03 = $newDate;
if ($conna->query($sql) === TRUE) {} else {die('ERRORE NELL\'IMPORTAZIONE'. $conna->error); }
}
}
}
}
come posso risolvere?
mille grazie a chi mi aiuterà
francesco
Ultima modifica di un moderatore: