Inserimento multilplo di un ciclo for in un database mysql

  • Creatore Discussione Creatore Discussione orp
  • Data di inizio Data di inizio

orp

Nuovo Utente
17 Ott 2013
5
0
0
Ciao a tutti.
Ho creato un database utilizzando php e mysql con un form di inserimento nel quale, tra l'altro, ho alcuni checkbox multipli per l'inserimento di più alternative contemporaneamente.
Nella ricezione del post ho inserito un ciclo for in modo da ricevere tutte le soluzioni selezionate.
Quando vado ad inserire i dati nel database, se ho più soluzioni selezionate il programma crea tanti record quanti sono le soluzioni spuntate nel checkbox. Io vorrei che le soluzioni spuntate andassero tutte nella stessa riga (stesso record), magari separate da una virgola.
Riporto di seguito il codice che ho scritto (il campo interessato è "tipologia":
if (isset($_POST['inserisci'])) {

// Definizione delle variabili dei campi
$nome_commerciale = addslashes($_POST['nome_commerciale_ins']);
$ditta = addslashes($_POST['ditta_ins']);
$sito = addslashes($_POST['sito_ins']);
$email = addslashes($_POST['email_ins']);
$tipologia = $_POST['tipologia_ins'];
$note = addslashes($_POST['note_ins']);

if(!($tipologia)){ //Vedo se ha cliccato su qualche checkbox;
echo "Selezionare almeno una casella"; //In caso negativo si invita a selezionare almeno una casella
}
else { //Sennò
$ntipologia = count ($tipologia); //Utilizzo count per contare il numero di valori contenuti nell'array
for($i=0; $i<$ntipologia; $i++){

// Inserimento dei dati
$query = "INSERT INTO `$database`.`materiali` (`materiali_id`, `nome_commerciale`, `ditta`, `sito`, `email`, `tipologia`, `note`)
VALUES (NULL,'$nome_commerciale','$ditta','$sito','$email','$tipologia[$i]', '$note')";


if($result = mysql_query($query) or die (mysql_error())){
}

} //Chiudo il for

}

} //Chiudo l'if

mysql_close();

Grazie
 

Discussioni simili