- Home
- Categorie
- Coding e Sistemistica
- PHP
- Inserimento più dati da form con array e foreach
-
Inserimento più dati da form con array e foreach
Ciao ragazzi ho un piccolo problema:
sto cercando di fare un form che abbia un'array di variabili e che chiami una pagina che faccia gli inserimenti sul database di tutti questi dati, una riga alla volta.
nella fattispecie abbiamo questo form:index.php
[php]
<form action="submit.php" method="post"><table style="float:left; margin-right:10px; border:1px solid black;">
<?php do { ?>
<tr>
<td><input type="radio" value="<?php echo $row_categorie['id']; ?>" name="categoria" onchange="cambiagrammatura<?php echo $row_categorie['id']; ?>()" /><?php echo $row_categorie['nome']; ?></td>
</tr>
<?php } while ($row_categorie = mysql_fetch_assoc($categorie)); ?>
</table><table style="float:left; margin-right:10px; border:1px solid black;">
<?php do { ?>
<tr class="invisibile" id="grammatura<?php echo $row_grammature['id']; ?>">
<td><input type="radio" id="grammatura<?php echo $row_grammature['id']; ?>" name="grammatura" onchange="cambiadimesioni<?php echo $row_grammature['id']; ?>()" /><?php echo $row_grammature['nome']; ?></td>
</tr>
<?php } while ($row_grammature = mysql_fetch_assoc($grammature)); ?>
</table><table style="float:left; margin-right:10px; border:1px solid black;">
<?php do { ?>
<tr class="invisibile" id="dimensioni<?php echo $row_dimensioni['id']; ?>">
<td><input type="radio" id="<?php echo $row_dimensioni['id']; ?>" name="dimensioni" /><?php echo $row_dimensioni['nome']; ?> (<?php echo $row_dimensioni['descrizione']; ?>)</td>
</tr>
<?php } while ($row_dimensioni = mysql_fetch_assoc($dimensioni)); ?>
</table><div style="float:left; margin-left:50px;">
<input type="button" onClick="nuovoform();" value="Aggiungi riga" />
<br />
Unità <input type="text" name="unita[]" /><br />
Netto <input type="text" name="netto[]" /><br />
Lordo <input type="text" name="lordo[]" /><br />
Area Stampa <input type="file" name="areastampa[]" /><br />
<div id="ciccio"></div>
<br /><input type="submit" value="Invio" />
</div>
</form>
[/php]
Vedete queste ultime input? un comando javasccript le duplica fino ad averne quante l'utente ne vuole. ecco ora ad esempio abbiamo una decina di queste variabili unita[], netto[] etc....e il submit chiama questa pagina:submit.php
[php]
<?phpforeach ($_POST['unita'] as $nino)
{
echo "inserimento " . $_POST['unita'] . '<br />';
mysql_select_db ($database_connections, $connections);
$query = "INSERT INTOprezzi
(
unita
,
netto
,
lordo
,
id_cat
,
id_gramm
,
id_dim
,
areastampa
)
VALUES (
'" . $_POST['unita'] . "', '" . $_POST['netto'] . $_POST['lordo'] . "', '" . $_POST['categoria'] . "', '" . $_POST['grammatura'] . "', '" . $_POST['dimensioni'] . "', '" . $_POST['areastampa'] . "'
)";
mysql_query ($query, $connections);$query_ultimoid = "SELECT * FROM ordini ORDER BY id DESC LIMIT 1"; $ultimoid = mysql_query($query_ultimoid, $connections) or die(mysql_error()); $row_ultimoid = mysql_fetch_assoc($ultimoid);
}
?>
[/php]In teoria questa pagina dovrebbe creare una riga per ogni POST[unita] e inserire i dati relativi a quell'iterazione ma.... non lo fa.
Mi è sicuramente sfuggito qualcosa, voi avete capito l'errore? grazie!