Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    2

    Inserimento multiplo record

    Buongiorno a tutti,
    ho un file di inserimento che funziona perfettamente per il singolo inserimento di un record, dove inizialmente eseguo una select di un campo e poi ne inserisco uno da tastiera.
    Come posso inserire più record digitando più volte solo il secondo campo e tenendo memorizzato la select del primo?
    Praticamente vorrei selezionare solo una volta il primo campo ed inserire infinite volte (o anche un numero ragionevole) il secondo, ed inserirli entrambi nella tabella MySQL.

    ecco lo spezzone del file di inserimento:

    <form style="text-align:center; width: 801px;" name="ingresso" method="post" action="memorizza-ingresso.php" class="style3">

    <div class="style1">
    <table style="width: 100%">
    <select name="id_corso">
    <?php
    $query = mysql_query("SELECT * FROM sessioni_corsi INNER JOIN corso ON sessioni_corsi.id_corso = corso.id ORDER BY nome_corso, data");
    while ($riga=mysql_fetch_array($query)){
    $id_corso=$riga['id'];
    $nome_corso=$riga['nome_corso'];
    $data=conversione($riga['data']);
    echo "<option selected value=\"$id_corso\">$id_corso - $nome_corso - $data</option>";
    }
    ?>
    </select>
    <tr>
    <td style="width: 323px"><strong>Codice Iscritto:</strong></td>
    <td class="style4"><label> <strong>
    <input type="text" name="id_iscritto" id="id_iscritto" style="width: 540px" /></strong></label></td>
    </tr>
    </table>
    <br/><br/>
    <br/><input type="submit" name="submit" id="submit" value="Inserisci" />
    <input type="reset" name="cancel" id="cancel" value="Azzera" />
    </div>
    </form>

    ecco quello della memorizzazione:
    <?php
    include ("config.php");
    $id_corso = $_POST['id_corso'];
    $id_iscritto = $_POST['id_iscritto'];

    $query= <<<SQL
    INSERT INTO ingresso (id_corso, id_iscritto)
    VALUES ("{$id_corso}", "{$id_iscritto}");
    SQL;
    mysql_query($query);
    mysql_close();
    ?>



    grazie

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Benvenuto.
    Devi aggiungere campi alla tua form
    codice:
    <form ....>
        ...
        <input type="text" name="id_iscritto[]" id="id_iscritto1" style="width: 540px" />
        <input type="text" name="id_iscritto[]" id="id_iscritto2" style="width: 540px" />
        <input type="text" name="id_iscritto[]" id="id_iscritto3" style="width: 540px" />
        <input type="text" name="id_iscritto[]" id="id_iscritto4" style="width: 540px" />
        <input type="text" name="id_iscritto[]" id="id_iscritto5" style="width: 540px" />
        ....
        tutti quelli che ti pare
        ... poi il submit ...
    </form>
    poi nello script per l'inserimento fai un ciclo su questi dati e li inserisci effettuando una query INSERT ad ogni iterazione.

    Codice PHP:
    include ("config.php");
    $id_corso $_POST['id_corso'];

    foreach ( 
    $_POST['iscritto'] as $id )
    {
        
    $query "INSERT INTO ingresso (id_corso, id_iscritto) VALUES ('{$id_corso}','{$id}')";

        
    //Usa mysqli_ non mysql_ che sono state deprecate, nelle future versioni
        //di PHP tali funzioni saranno rimosse e quindi il tuo script non funzionerà più
        
    mysqli_query($conn$query); //$conn è il link alla connessione al db
    }

    mysqli_close($conn); 
    N.B. non puoi inserire più righe con una sola query, PHP te lo vieta.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    2
    Grazie mille, appena riesco lo provo e ti faccio sapere.
    Grazie ancora

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.