• User

    elaborare dati da input dinamiche

    Ciao ragazzi, ho un piccolo problema, in pratica ho una pagina html e con un javascript ho una funzione che cliccando sul tasto aggiungi mi crea degli input, ad esempio se clicco 5 volte sul tasto aggiungi automaticamente si inseriranno 5 campi input. Il mio problema è che quando premo il submit per far elaborare questi campi (da un file php) nel file "ricevi.php" non so come fare a prendermi questi dati non sapendo a priori quanti sono. Per capire ancora meglio vi incollo il codice html:

    [php]
    <script>
    var i=2;
    function add(id)
    {
    campi = document.createElement('div');
    campi.id = "mine"; //assegna al div un nome
    document.getElementById(id).appendChild(campi);
    campi.innerHTML="<tr><td><input type="text" name="campo"+i+""></td><td><input type="text" name="valore"+i+""></td></tr>";
    i++;
    }
    </script>

    <center>
    <form action="ricevi.php" method="GET">
    <table border=0>
    <tr>
    <td>valore</td>
    <td>testo</td>
    </tr>
    <tr>
    <td>
    <input type="text" name="campo1">
    </td>
    <td>
    <input type="text" name="valore1">
    </td>
    </tr>
    <tr><td colspan=2>
    <div id="prova"> </div>
    </td></tr>
    <tr><td colspan=2>
    <input type="button" value="aggiungi" onclick="javascript:add('prova');">
    </td></tr>
    <tr><td colspan=2>
    <input type="submit" value="Genera">
    </td></tr>
    </table>
    </form>
    </center>
    [/php]


    come potete vedere nella pagina php gli arriveranno dei valori mandati con il get, come faccio a prenderli? I valori potranno essere 5 ma potranno essere anche 10.
    Spero in un vostro aiuto

    Grazie
    Matt86


  • User Attivo

    portesti crearti un contatore in javascript, o usare i campi come array, oppure fare un ciclo while sulla variabile $_GET


  • ModSenior

    [php]
    $i = 0;
    while(isset($_POST['campo'.$i]))
    {
    // Le operazioni da fare per ogni input
    $i++;
    }
    [/php]


  • User

    Grazie Thedarkita,
    funziona tutto :), adesso però ho un altro piccolo problema, ho creato la pagina inserisci, leggi e modifica, ma su quest' ultima non rieco a modificare l'immagine, potresti dargli un occhiata?

    Grazie
    Matt86


  • ModSenior

    Intanto il campo ID del database devi inserirlo come autoincrement altrimenti rimane sempre 0 e quindi non ha senso inserirlo...

    per fare la query di modifica puoi usare il ciclo di prima mettendo come operazione

    [php]
    mysql_query("UPDATE inv SET campo='$campo', valore = '$valore' WHERE id = '$i'"
    [/php]

    devi comunque prima portare il campo id su autoincrement altrimenti hanno tutti lo stesso id e la query li modifica tutti...


  • User

    Ciao Thedarkita,
    innanzitutto grazie per la tua disponibilità, purtroppo pure così non mi funziona 😞


  • ModSenior

    Secondo me è conveniente fare che nella pagina leggi.php quando mostra i vari dati presenti nel database ci sia un pulsante modifica che ti mandi a modifica.php?edit=ID_DATABASE
    da quella pagina prendi i valori di quel ID e nella query metti WHERE id = '$_GET[edit]'

    ovviamente dopo che funziona dovrai fermarti un pò sulla sicurezza perchè scritto cosi non è il massimo 😉

    in ogni caso questa mi smbra la miglior soluzione


  • User

    Ciao Thedarkita,
    purtroppo sono costretto a farlo così perchè questi parametri devono stare insieme.