• User

    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]
    <?php

    foreach ($_POST['unita'] as $nino)
    {
    echo "inserimento " . $_POST['unita'] . '<br />';
    mysql_select_db ($database_connections, $connections);
    $query = "INSERT INTO prezzi (
    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!