ciao a tutti, ho un problema con il ciclo e la lettura di un array. Ora mi spiego:
ho una form html con 2 campi, data e importo, che invio tramite _post alla pagina php che ha il compito di elaborare i dati passati.
Tramite la form, l'utente può inserire quanto ha pagato in una certa data. I pagamenti possono essere diversi. Per cui, tramite un tasto, l'utente può creare nuove righe con campi data e importo. Il campo data è formato da tre input:
<form method="post" action="elabora.php">
<input placeholder="gg" type="text" name="insert_date_gg[]" id="insert_date_gg" />
<input placeholder="mm" type="text" name="insert_date_mm[]" id="insert_date_mm" />
<input placeholder="aaaa" type="text" name="insert_date_aaaa[]" id="insert_date_aaaa" />
</form>
L'utente, quindi, può dire di aver pagato 20€ il giorno 21/06/2017 e 30€ il giorno 03/07/2018.
Nella pagina elabora.php, dovrei ricomporre la data corretta per ognuno dei pagamenti e inserirla a DB inseme all'importo parziale.
Seguendo la form sopra, il vettore insert_date_gg[] conterrà 21 e 03, insert_date_mm[]" 06 e 07 e insert_date_aaaa[] conterrà 2017 e 2018.
Per ricomporre le date, ho provato ad annidare alcuni foreach come consigliato in questo forum, così:
$matrice = array($_POST['insert_date_aaaa'], $_POST['insert_date_mm'], $_POST['insert_date_gg']);
foreach($matrice as $chiave => $val){
foreach($val as $ch =>$valore){
$trasposta[$ch][$chiave]=$valore;
}
}
//ciclo di stampa
foreach($trasposta as $chiave =>$val){
foreach($val as $ch =>$valore){
echo $valore;
}
}
quello che ottengo è questo
2017062120180703
C'è qualche anima gentile che può darmi delle dritte per riuscire nel mio intento: ricomporre la data associata all'importo da inserire a DB?
grazie
ho una form html con 2 campi, data e importo, che invio tramite _post alla pagina php che ha il compito di elaborare i dati passati.
Tramite la form, l'utente può inserire quanto ha pagato in una certa data. I pagamenti possono essere diversi. Per cui, tramite un tasto, l'utente può creare nuove righe con campi data e importo. Il campo data è formato da tre input:
<form method="post" action="elabora.php">
<input placeholder="gg" type="text" name="insert_date_gg[]" id="insert_date_gg" />
<input placeholder="mm" type="text" name="insert_date_mm[]" id="insert_date_mm" />
<input placeholder="aaaa" type="text" name="insert_date_aaaa[]" id="insert_date_aaaa" />
</form>
L'utente, quindi, può dire di aver pagato 20€ il giorno 21/06/2017 e 30€ il giorno 03/07/2018.
Nella pagina elabora.php, dovrei ricomporre la data corretta per ognuno dei pagamenti e inserirla a DB inseme all'importo parziale.
Seguendo la form sopra, il vettore insert_date_gg[] conterrà 21 e 03, insert_date_mm[]" 06 e 07 e insert_date_aaaa[] conterrà 2017 e 2018.
Per ricomporre le date, ho provato ad annidare alcuni foreach come consigliato in questo forum, così:
$matrice = array($_POST['insert_date_aaaa'], $_POST['insert_date_mm'], $_POST['insert_date_gg']);
foreach($matrice as $chiave => $val){
foreach($val as $ch =>$valore){
$trasposta[$ch][$chiave]=$valore;
}
}
//ciclo di stampa
foreach($trasposta as $chiave =>$val){
foreach($val as $ch =>$valore){
echo $valore;
}
}
quello che ottengo è questo
2017062120180703
C'è qualche anima gentile che può darmi delle dritte per riuscire nel mio intento: ricomporre la data associata all'importo da inserire a DB?
grazie