Originariamente inviata da
boots
in un foreach con input dovresti usare come name un "array" altrimenti ti verrà postato solo l'ultimo input in quanto avranno tutti lo stesso nome.
Inoltre dovresti correlare il checkbox con il campo hidden in quanto i campi hidden verranno tutti iniviati mentre i checkbox solo quelli selezionati.
Quindi
Codice PHP:
$i = 0;
foreach($data as $row):
...
<input type="checkbox" name="selected[]" value="<php echo $i >" >
<input type="hidden" name="esempio[<php echo $i >]" value="$row['name'], $row['surname'] , $row['address], ecc ,ecc" >
...
$i++;
endforeach;
Nel createcsv.php
Codice PHP:
//per ogni checkbox
foreach($_POST['selected'] as $i){
$arr = explode(',', $_POST[esempio][$i]);
}
Ora, io non ti consiglierei cmq di procedere in questo modo per i seguenti motivi:
1. Ogni volta fai il post di ogni riga (esempio[]) indipendentemente se il checkbox è checked o meno.
ricorda che ci sono limiti sul numero di input inviabili da una form (max_input_vars) e la dimensione massima del post (post_max_size)
che di default sono alti (3000 e 2mb) ma possono essere cambiati dal hosting
2. i valori che metti nel value (indirizzo, nome, cognome ) potrebbero avere caratteri che ti vanno a "rompere" il codice html. per esempio
se address contiene " (doppi apici) o il carattere che usi per separare i valori (la virgola in questo caso), etc
Per questo ti avevo consigliato di metter nel form solo l'indice di riga del json ed usarlo a mo di database
PS non mi prende i tag di php, quindi ho messo solo "<php"