Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    4

    UPDATE su un solo campo

    ciao...probabilmente sarà una domanda banale ma avrei un piccolo problema sulla modifica di un solo campo in una tabella

    questo è il codice della query:

    <?php
    echo "<ul>";

    // connessione al server e al db
    include "errori.inc.php";

    $ID=$_POST["ID"];
    $nuovotitolo=$_POST["nuovotitolo"];
    $nuovoautore=$_POST["nuovoautore"];

    $query="UPDATE libri SET titolo='$nuovotitolo' , autore='$nuovoautore'";
    $query.="WHERE ID='$ID'";
    $risultato=mysql_query($query);
    if(mysql_errno()==0){echo"<center>[*]Modifica effettuata con successo</center>";}
    else{mysql_error();
    exit();};

    mysql_close();
    ?>


    In poche parole la query modifica all'interno della tabella libri i campi titolo e autore con dei valori inviati tramite metodo post da un'altra pagina....la query funziona ma se volessi modificare un solo campo della tabella lasciandone libero un altro,il campo che non ho modificato viene impostato come nullo nella tabella libri.Vorrei poter inserire solo i campi che intendo modificare e lasciare invariati i restanti con i valori già presenti nella tabella.
    Potreste apportare le opportune modifiche direttamente sul codice che ho postato?
    Grazie in anticipo

  2. #2
    prima di tutto sarebbe meglio se il codice fosse scritto tra tag [php ] oppure [code ] per facilitare la lettura... vedi http://forum.html.it/forum/misc.php?...bbcode#buttons

    Per il tuo problema ci sarebbe una facile soluzione. Nel form di modifica metti il valore corrente del record come VALUE dell'input. Se viene modificato la modifica verra' applicata su uno od entrambi i campi, non verra' eseguita se i valori rimangono uguali.

    es.:
    codice:
    <input type = "text" name = "nuovotitolo" value = "<?php echo $row['titolo'] ?>" >

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

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    4
    grazie mille....non avevo pensato a questa soluzione....

    ma come dovrei procedere se volessi mantenere nella tabella il valore del campo già esistente pur inviando dei campi vuoti?perchè lasciando il campo titolo vuoto e inoltrando la modifica nella tabella viene immesso un valore nullo....spero d essermi spiegato...

  4. #4
    Originariamente inviato da espada
    grazie mille....non avevo pensato a questa soluzione....

    ma come dovrei procedere se volessi mantenere nella tabella il valore del campo già esistente pur inviando dei campi vuoti?perchè lasciando il campo titolo vuoto e inoltrando la modifica nella tabella viene immesso un valore nullo....spero d essermi spiegato...
    dovresti controllare il contenuto della variabile e variare l'update a seconda dei campi da modificare.

    Molto meglio presentare nel form il valore corrente, non dimenticare che si tratta di una modifica, in modo tale che chi deve modificare si renda conto di cosa c'e' attualmente nel db.

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

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.