Inserimento multiplo di valori nei rispettivi record sql

macchiavelli.ivan

Utente Attivo
7 Dic 2012
67
0
0
Salve.

================================================================================================
PHP:
while($riga=mysql_fetch_array($dati)){ 
$id=$riga['id']; 
$nome=$riga['nome']; 
$cognome=$riga['cognome']; 
$scuola=$riga['citta']; 


echo "<tr><td>$nome</td> 
<td>$cognome</td> 
<td>$scuola</td> 
<td>[b]<input type=\"text\" name=\"n_lez1[$id]\" maxlength=\"3\" size=\"3\" />[/b]</td>"; 
} 
echo "</tbody> 
</table> 
<div align=\"center\">[b]<input type=\"submit\" name=\"aggiungi\" value=\"Aggiungi\" />[/b]</div> 
</form>"; 
}
================================================================================================

Cè un modo che mi permetta, cliccando sul tasto submit, di inserire nel db tutti i valori che l'utente digita nel campo testo? senza creare un submit per ogni record?


if(isset($_POST['aggiungi'])){
 
Ultima modifica di un moderatore:
ciao
schematicamente
PHP:
<?php
//dati di connessione
if(isset($_POST['aggiungi'])){
	foreach($_POST['n_lez1'] as $chiave => $valore){
		$q="INSERT INTO tabella(nome_campo) VALUES('$valore')";
		mysql_query($q);
	}
}
?>
se devi inserire anche $id (chiave)
PHP:
<?php
//dati di connessione
if(isset($_POST['aggiungi'])){
	foreach($_POST['n_lez1'] as $chiave => $valore){
		$q="INSERT INTO tabella(nome_campo1, nome_campo2) VALUES('$chiave','$valore')";
		mysql_query($q);
	}
}
?>

p.s.
racchiudi sempre il codice tra gli appositi tag
 
Ultima modifica:
Grazie borgo italia.
Il foreach non lo avevo valutato.

Solo che adesso se ci sono sei campi vuoti o uguali a 0 lui li inserisce ugualmente. Cè un modo per saltare tutti i campi vuoti?
 
...ecco cosa ho fatto

PHP:
<?php
if(isset($_POST['aggiungi'])){
	$anno1=(isset($_SESSION['year'])?$_SESSION['year']:0);
	$sett1=(isset($_SESSION['week'])?$_SESSION['week']:0);
    foreach($_POST['n_lez1'] as $chiave => $valore){
        $q="INSERT INTO lezioni(week,anno,lez,id_ins) VALUES('$sett1','$anno1','$valore','$chiave')";
        mysql_query($q);
    }
    echo '<h2 style="color: rgb(2, 0, 2);"><span style="font-style: italic;">Lezioni
</span><big>INSERITE!!!</big></h2><br />'; 
    
    elseif(is_int($valore) || $valore < 0){ 
        echo '<h2 style="color: red;"><span style="font-style: italic;">Le Lezioni non sono
         un numero o non possono essere </span><big>NEGATIVE!!!</big></h2><br />'; 
    }else{ 
            echo '<h2 style="color: red;"><span style="font-style: italic;"><big>ERRORE NELL\'INSERIMENTO!!! </span></big></h2><br />'; 
        } 
    echo "<meta http-equiv='Refresh' content='3; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>"; 
}else{
...
 
Grazie borgo italia.
Il foreach non lo avevo valutato.

Solo che adesso se ci sono sei campi vuoti o uguali a 0 lui li inserisce ugualmente. Cè un modo per saltare tutti i campi vuoti?
Usa un semplice controllo con empty nel foreach

PHP:
if(!empty($valore) && $valore!=0){ //... esegui la query
 

Discussioni simili