Visualizzazione risultati 1 fino 7 di 7

Discussione: Record multipli da form

  1. #1
    Guest

    Predefinito Record multipli da form

    Ciao ragazzi, per voi sarà una banalità ma proprio non ci riesco...

    Ho la necessità di salvare record a gruppi di 7/8 righe alla volta ma proprio non capisco come impostare la query.

    Semplificando al massimo è come se dovessi creare una rubrica telefonica inviando al db gruppi di nominativi per i quali inserisco nome, cognome e n° di telefono in un colpo solo...

    es:

    Nome - Cognome -Tel
    Nome - Cognome -Tel
    Nome - Cognome -Tel
    Nome - Cognome -Tel
    Nome - Cognome -Tel
    Nome - Cognome -Tel

    *INVIA*

    Devo creare un array e ciclare la query "insert into..."?

    Credo di sì, a parole è facile, ma non so proprio da dove cominciare....avete qualche dritta?


  2. #2
    Guest

    Predefinito

    Ogni campo del form deve essere un array, in tal modo nello script php riceverai questi array popolati con tutti i dati, di conseguenza, come dicevi tu, puoi ciclarti questi array ed inserire man mano i record.

    I nomi dei campi del form dovranno essere del tipo:

    <input type="text" name="cognome[]" />


    ciao!

  3. #3
    Guest

    Predefinito

    Qundi sono sulla strada giusta...è un buon inizio!

    Supponiamo quindi che io ad esempio abbia 5 contatti da inserire, questa sintassi è corretta?

    <form action="elabora.php" method="post">
    <INPUT TYPE="text" NAME="nome[1]" value="">
    <INPUT TYPE="text" NAME="cognome[1]"value="">
    <INPUT TYPE="text" NAME="telefono[1]"value="">

    ....fino a...

    <INPUT TYPE="text" NAME="nome[5]" value="">
    <INPUT TYPE="text" NAME="cognome[5]"value="">
    <INPUT TYPE="text" NAME="telefono[5]"value="">

    <INPUT TYPE="submit" value="esegui">

    ...e nel file elabora.php come faccio a "sgomitolare" l'array per ciclare gli inserimenti?

  4. #4
    Guest

    Predefinito

    No no, non devi specificare l'indice, verrà creato automaticamente dallo script che riceve.
    Per lo "sgomitolare" hai inteso bene.


    Ciao!

  5. #5
    Guest

    Predefinito

    ...forse ho capito....(speriamo)....

    devo mettere <INPUT TYPE="text" NAME="nome[]" value=""> in tutti, supponiamo 5, input text.

    così anche per cognome ecc..

    Nella pagina elabora.php "sgomitolo" l'array così:

    $array_nome = $_POST['nome[]'];
    $array_cognome = $_POST['cognome[]'];
    ecc...

    e poi imposto ed eseguo la query:

    $query = "INSERT INTO contatti VALUES ('$array_nome','$array_cognome','$array_telefono')";
    $result = mysql_query($query, $myconn) or die("Errore...");


    ...è corretto? ...vado a provare...

  6. #6
    Guest

    Predefinito

    Quasi.

    La query la devi mettere all'interno del ciclo che usi per scorrere gli array.

    Codice PHP:
    foreach($_POST['cognome'] as $K=>$Valore){
    mysql_query("INSERT INTO contatti VALUES ('$Valore','".$_POST['nome'][$K]."')");
    }

    Ciao!

  7. #7
    Guest

    Predefinito

    ...ok, risolto!!!

    grazie infinite debug!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •