Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Problema di update

  1. #1
    Utente di HTML.it L'avatar di Airfry
    Registrato dal
    Jan 2003
    Messaggi
    106

    Problema di update

    Sto cercando di risolvere un problema di update di più righe contemporaneamente.
    la pagina è una sola e più sotto posto il codice.
    Come potrete vedere il form mi permette dei variare i campi che vengono generati da un'interrogazione al db.
    Il problema è che mi va ad updatare tutte le righe di tutta la tabella con i dati dell'ultimo rigo del form. Non riesco a far associare l'update di ogni riga all'id (id_salsa1).

    dov'è che sbaglio?

    <?PHP
    ....

    if($_POST['submit'] == 'Aggiorna la Classifica')
    {
    //nel caso di invio del form recupero i dati
    $id_salsa1 = $_POST['id_salsa1'];
    $interprete = $_POST['interprete'];
    $titolo = $_POST['titolo'];
    $pos_prec = $_POST['pos_prec'];
    $pos_nuova = $_POST['pos_nuova'];

    foreach($_POST['id_salsa1'] as $key => $value) {
    $id_salsa1 = $_POST['id_salsa1'][$key];
    $update = "UPDATE $nome_tabella SET
    interprete = '$interprete',
    titolo = '$titolo',
    pos_prec = '$pos_prec',
    pos_nuova = '$pos_nuova'
    WHERE id_salsa1 = '$id_salsa1'";

    $risultato = @mysql_query ($update, $connessione)
    or die ("Impossibile inserire i dati nella tabella $nome_tabella");
    }
    }


    $sql2 = "
    SELECT * FROM $nome_tabella";
    $result2 = mysql_query($sql2, $connessione);
    while($riga = mysql_fetch_array($result2)) {
    $rigaclassifica .= "<tr>
    <td width=\"250\">
    <input type=\"hidden\" value=\"$riga[id_salsa1]\" name=\"id_salsa1[]\">
    <input type=\"text\" name=\"interprete\" size=\"33\" value=\"$riga[interprete]\"></td>
    <td width=\"243\"><input type=\"text\" name=\"titolo\" size=\"32\" value=\"$riga[titolo]\"></td>
    <td width=\"61\"><input type=\"text\" name=\"pos_prec\" size=\"5\" value=\"$riga[pos_prec]\"></td>
    <td width=\"66\"><input type=\"text\" name=\"pos_nuova\" size=\"5\" value=\"$riga[pos_nuova]\"></td>

    </tr>
    ";

    }
    mysql_close($connessione);
    ?>
    <html>
    ....
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
    <table border="0" cellpadding="2" cellspacing="0" style="border-collapse: collapse" width="620">

    <tr>
    <? echo "$rigaclassifica"; ?>
    </tr>
    </table>
    </center>
    </div>
    <p align="center"><input type="submit" value="Aggiorna la Classifica" name="submit"></p>
    </form>
    ...
    </html>
    Lo spartito della vita
    è un insieme di note.
    Ognuno è artefice della propria armonia.

  2. #2
    Utente di HTML.it L'avatar di hyb
    Registrato dal
    Aug 2003
    Messaggi
    424
    provare a fare un print di $update, cosi vedi come vengono risolte le variabili e soprattutto il valore di id_salsa1
    C'è chi si mette degli occhiali da sole, per avere più carisma e sintomatico mistero.

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.