Inserire dati array nel database

Ho l'esigenza di inserire nel database i dati di un array ricavati da un checkbox (nome cittą e id). La query insert mi inserisce solo l'ultimo.

Di seguito riporto alcune parti del codice del form e della pagina di elaborazione

form.php

<form method=\"POST\" action=\"pagina.php\">
<input type=\"checkbox\" name=\"mycheck[$cityname]\" value=\"$id\">
<input type="submit" name="Submit" value="Aggiungi">
</form>

pagina.php

// Recupero i dati inviati tramite checkbox
$mycheck= $_POST['mycheck'];
foreach ($_mycheck as $city => $id) {
echo "Ha selezionato $city con id= $id<br />";
}
//Sin qui il codice funziona e visualizza i checkbox selezionati, l'inserimento  avviene solo per l'ultimo  
$query = "INSERT INTO tabella (
carttemp_sess,
carttemp_name,
carttemp_citynum)
VALUES ('$sess', '$city', '$id')";

Il problema sta nell'inserimento dei dati dell'array nel database. Come mi muovo?

Grazie

inviato 9 anni fa
jump
jump
1
X 0 X

devi inserire la query nel ciclo foreach

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Posto il codice corretto.  Potrebbe servire ad altri. Ciao

form.php

<form method=\"POST\" action=\"pagina.php\">
<input type=\"checkbox\" name=\"mycheck[$id]\" value=\"$cityname\">
<input type="submit" name="Submit" value="Aggiungi">
</form>

pagina.php

  //Processo i dati inviati tramite checkbox 
  $myCheck= $_POST['myCheck'];
  $query = "INSERT INTO tabella (
           carttemp_name,
         carttemp_citynum)
              VALUES ";
//ciclo foreach nella query
  foreach ($myCheck as $key => $value) {
  $query .= "('$value', '$key') ,"; 
  }
// elimino ultima virgola dal foreach
  if (strlen($query)>0) {
  $query = substr ($query, 0, strlen($query)-1);
  }
risposto 9 anni fa
jump
jump
1
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda