• User Newbie

    Aggiornare Tabella MySQL tramite Form

    Ciao a tutti,
    vorrei praticamente creare un form in html che mi aggiorni un dato del database, qualcosina ho fatto già, nel senso che sono riuscito a creare la query che mi aggiunge dati al database (sempre con form in html), ma ora ho bisogno dio poterli aggiornare e non so proprio da dove iniziare... I campi che ho nel database sono:

    • id_powers (che deve rimanere vuoto perché si aggiunge in automatico)
    • nome_powers
    • costo_powers
    • powers_fatti

    Ora vorrei aggiornare il costo_powers conoscendo non l'ID ma il nome_powers, quindi per intenderci io tramite il nome_powers posso aggiornare il costo_powers tramite form in html...

    Aspetto vostre risposte e grazie 😉


  • User

    Ciao

    Partiamo dal fatto che sai gia come creare un form in html e come effettuare una insert nel database.... giusto????

    Praticamente tu vuoi aggiornare un record del database?

    Se, ad esempio, al tuo script di update passi dal form html i campi dato (contenente il valore che andrà ad aggiornare il database) e nome (contenente il nome del campo da aggiornare):
    UPDATE nome_della_tabella SET costo_powers='$_GET[dato]' WHERE nome_powers='$_GET[nome]'

    Ciao


  • User Newbie

    Non funziona, io praticamente ho fatto così:

    aggiorna.html
    [html]
    <FORM METHOD="post" ACTION="aggiornamento.php">
    Nome Powers da aggiornare:
    <INPUT TYPE="text" NAME="nome_powers_da_aggiornare">
    <br>
    <br>
    Costo Powers da aggiornare:
    <input NAME="costo_powers_da_aggiornare" TYPE="text" value="Il power 123 costa 123 - 123 xats o 123 - 123 days su trade." size="60">
    <br>
    <br>
    <INPUT TYPE="submit" VALUE="AGGIORNA POWER">
    </FORM>
    [/html]aggiornamento.php (ovviamente sopra gli ho scritto i dati per la connessione al database)
    [php]$query = "UPDATE prezzi_powers SET costo_powers='$_GET[costo_powers_da_aggiornare]' WHERE nome_powers='$_GET[nome_powers_da_aggiornare]'";
    if (mysql_query ($query, $db))
    echo ("Aggiornamento avvenuto correttamente! Torna indietro.");
    else
    echo ("Errore aggiornamento. Torna indietro e riprova.");[/php]Come mai?


  • User

    Così al volo: se usi il metodo POST non puoi leggere le variabili con GET.
    Io ti avevo fatto l'esempio con GET ma tu passi le variabili con POST quindi sostituisci POST a GET


  • User Newbie

    Ok ora funziona, grazie 🙂 potete chiudere.


  • User

    😉