• User Attivo

    Problemone foreach

    Ciao a tutti,
    sto creando uno script che mi moltiplica un form in base a quanti ne inserisco in input e le informazioni andranno inserite in blocco in una tabella che chiamo t_utenti. (Mi serve per migrare su un'altra tabella più utenti insieme senza il bisogno di riaprire per tante volte quella pagina).

    Ho diviso le pagine in step:

    • Step1: chiedo in input il numero di utenti da inserire (selezionando da un menu a tendina gli utenti presenti in un altra tabella, perchè alla fine mi serve solo per migrare le informazioni da una tabella all'altra, salvo le informazioni in una tabella di appoggio che chiamo t_temp e proseguo con lo step2);
    • Step2: Ho le informazioni salvate nella tabella temporanea (t_temp) e duplico i campi a seconda del numero che ho inserito in input;
    • Step3: Inserimento dei dati nel db (e qui mi blocco);

    Lo step2 non è altro che il seguente:
    [php]
    <form name="info" method="post" action="step3.php">
    <?
    $s = mysql_query("select * from t_temp, t_trad where cod_poID = " . $poID . " and cod_tradID = tradID ");
    //Seleziono dalla tabella temporanea t_temp gli utenti scelti;
    $r = mysql_fetch_array($s);
    $inc = 1;
    while($r){
    ?>
    <input type="hidden" name="tradID[<? echo $inc; ?>]" value="<? echo $r["tradID"]; ?>" />
    Username: <input type="text" name="username[<? echo $r["tradID"]; ?>]" value="<? echo $r["username"]; ?>" />
    Email: <input type="text" name="email[<? echo $r["tradID"]; ?>]" value="<? echo $r["email"]; ?>" />

    <input type="submit" name="invia" value="invia" />
    <?
    $r = mysql_fetch_array($s);
    $inc ++;
    }
    ?>
    </form>
    [/php]Domanda! Sprando che sia tutto chiaro, mettendo il caso che ho selezionato 3 utenti questo form si triplicherà e inserirò/modificherò le informazioni per 3 volte. Come faccio (nello step3) ad eseguire una query di tipo insert per tutti e 3 i form? Ho provato con un foreach che mi sembra la soluzione più logica ma non va!


  • User Attivo

    Usa mysql_fetch_assoc() al posto di mysql_fetch_array() se i campi che estrai sono più di uno.