Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    202

    AGGIORNARE più record in una volta sola.. come si fa?

    se ho un form con 5 campi dove ricavo i dati dal database (i 5 record) e voglio usare un unico pulsante update, come si fa per far aggiornare tutti i record in una volta sola?

    esempio:
    ho una tabella cosi: ID | NOME
    - riga 1: (1 | Pippo)
    - riga 2: (2 | Pluto)

    FORM:
    - campo: Pippo
    - campo: Pluto

    Button: modifca

    che cosa devo dire al comando UPDATE?

    grassie

  2. #2
    codice:
    UPDATE tabella SET campo = 'valore', campo2 = 'valore2', campo3 = 'valore3' WHERE .....

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    202
    no... forse mi sono spiegato male.. io nn devo aggiornare i campi, quello lo so fare, io voglio aggiornare i campi di tutti i record... cioè nella mia pagina ho l'elenco dei record (le righe) della mia tabella, e con unico update vorrei aggiornare tutte le righe della tabella...

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    202
    mi aiutate? non riesco a trovare una guida per il verso da nessuna parte

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    202
    ho trovato questo su internet.. ma non funziona...


    Codice PHP:
    $name $_POST['name'];
    $lastname $_POST['lastname'];
    $id $_POST['id'];
    $email $_POST['email'];

    if(
    $Submit){
    for(
    $i=0;$i<$count;$i++){
    $sql1="UPDATE $tbl_name SET name='$name[$i]', lastname='$lastname[$i]', email='$email[$i]' WHERE id='$id[$i]'";
    $result1=mysql_query($sql1);
    }
    }

    if(
    $result1){
    header("location:prova.php");
    }
    mysql_close(); 
    mi spiegate cosa c'è di sbagliato? i campi dei form nel tag "name" ho dato:

    name --> name
    lastname --> lastname
    email --> email

    il pulsante submit lo devo chiamare Submit in base al codice? Mi spiegate xchè nn mi funziona???

    boh...

  6. #6
    stampa l'array $_POST per vedere come e' strutturato dal form. Poi devi dare un valore a $count

    ma prima guarda bene la struttura di $_POST...

    Codice PHP:
    echo "<pre>";
    print_r($_POST); 

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    202
    ti posto tutto il codice...

    Codice PHP:
    mysql_connect("$host""$username""$password")or die("cannot connect");
    mysql_select_db("$db_name")or die("cannot select DB");

    $sql="SELECT * FROM $tbl_name";
    $result=mysql_query($sql);

    // Count table rows
    $count=mysql_num_rows($result);

    // Check if button name "Submit" is active, do this
    $name $_POST['name'];
    $lastname $_POST['lastname'];
    $id $_POST['id'];
    $email $_POST['email'];

    if(
    $Submit){
    for(
    $i=0;$i<$count;$i++){
    $sql1="UPDATE $tbl_name SET name='$name[$i]', lastname='$lastname[$i]', email='$email[$i]' WHERE id='$id[$i]'";
    $result1=mysql_query($sql1);
    }
    }

    if(
    $result1){
    header("location:prova.php");
    }
    mysql_close(); 

    Codice PHP:
    <table width="500" border="0" cellspacing="1" cellpadding="0">
    <form action="" method="post" enctype="multipart/form-data" name="form1">
    <tr>
    <td>
    <table width="500" border="0" cellspacing="1" cellpadding="0">


    <tr>
    <td align="center">[b]Id[/b]</td>
    <td align="center">[b]Name[/b]</td>
    <td align="center">[b]Lastname[/b]</td>
    <td align="center">[b]Email[/b]</td>
    </tr>
    <?php
    while($rows=mysql_fetch_array($result)){
    ?>
    <tr>
    <td align="center"><input name="textfield" type="text" id="textfield" value="<? echo $rows['id']; ?>">
      </td>
    <td align="center"><input name="name[]" type="text" id="name" value="<? echo $rows['name']; ?>"></td>
    <td align="center"><input name="lastname[]" type="text" id="lastname" value="<? echo $rows['lastname']; ?>"></td>
    <td align="center"><input name="email[]" type="text" id="email" value="<? echo $rows['email']; ?>"></td>
    </tr>
    <?php
    }
    ?>
    <tr>
    <td colspan="4" align="center"><input type="submit" name="Submit" value="Submit"></td>
    </tr>
    </table>
    </td>
    </tr>
    </form>
    </table>

    a leggerlo sembra sensato, ma poi nn funziona niente... e non riesco a trovare nient'altro da nessuna parte..

  8. #8
    <input name="textfield"

    anche qui devi fare un array.... e poi spiegami perche' nel form l'id lo chiami "texfield" e lo vuoi prelevare come "id" da $_POST

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    202
    si errore mio... lo chiamato id[] adesso.. ma sempre uguale.. nn aggiorna niente

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    202
    mancava $Submit = $_POST['Submit'];


    adesso funziona.. ehehehe

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.