Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Aggiornare valore di un campo mysql

    Ciao a tutti, ho un form con un campo che si chiama 'username' ed un campo che si chiama 'saldo' cosi;
    -------------------------------------------------
    <form action="aggiorna.php" method"post">
    Nome:
    <INPUT NAME="user" TYPE="text" id="user">


    Credito:
    <INPUT NAME="saldo" TYPE="text" id="saldo">




    <INPUT TYPE="submit" VALUE="Invia">
    </form>

    -------------------------------------------------
    devo aggiornare il valore del campo "saldo" dell'utente che inserisco nel campo "user" su un una tabella che si chiama "credito", che query posso utilizzare?


  2. #2
    Utente di HTML.it L'avatar di dany0
    Registrato dal
    Feb 2003
    Messaggi
    422
    update tabella_xx set saldo=$saldo where utente=$utente

    ovviamente avrai un POST di saldo e di utente..... nota : se i campi sono testo allora la variabili vanno tra apici

    update tabella_xx set saldo='$saldo' where utente='$utente'

  3. #3
    Intanto grazie per la risposta

    un altra domanda............. il campo "saldo" ha già un credito residuo di 50 punti se io lo ricarco di 30 punti la quesry update mi cambierà il saldo in 30 punti, si può scrivere la query in modo che faccia l'addizione con il punteggio precedente? ovvero 50+30 e mi aggiorni il campo "saldo" a 80 punti?

    Grazie di nuovo

  4. #4
    Utente di HTML.it L'avatar di dany0
    Registrato dal
    Feb 2003
    Messaggi
    422
    update tabella_xx set saldo=saldo+$saldo where .....

  5. #5
    C'e' qualcosa che non va!

    il saldo viene aggiornato ma per esempio se il saldo è di 160 punti e io ne aggiungo 40 non mi da 200 ma 220! se poi aggiungo ai 220 punti altri 50 me ne da 300!!!

    Che succede?

  6. #6
    Utente di HTML.it L'avatar di dany0
    Registrato dal
    Feb 2003
    Messaggi
    422
    $saldo=$_POST[saldo];


    update tabella_xx set saldo=saldo+$saldo where .....

    questa sintassi è giusta sicuro che non sbagli dopo il where a fare l'update di diverse righe o della riga sbagliata???

  7. #7
    Questo è il codice, se aggiungo: $saldo=$_POST[saldo]; non va lo stesso fa sempre l'addizione errata, sto sbagliando qualcosa?

    <?
    $db_host = "host";
    $db_user = "usr";
    $db_password = "pass";
    $db_name = "xxx";

    // connessione al database

    $db = mysql_connect ($db_host, $db_user, $db_password) or die ('Impossibile accedere al database!');
    $db_forum = mysql_select_db ($db_name, $db);

    // query update

    $saldo=$_POST[saldo];
    $query = "UPDATE balance SET saldo= saldo+'$saldo' WHERE username = '$username'";
    if (mysql_query($query, $db))
    echo "Il punteggio per: $username è stato aggiornato;
    else
    echo "Errore durante la modifica";

    $res=mysql_query($query,$db) or die(mysql_error());
    mysql_close($db);
    ?>

  8. #8
    Utente di HTML.it L'avatar di dany0
    Registrato dal
    Feb 2003
    Messaggi
    422
    $query = "UPDATE balance SET saldo= saldo+'$saldo' WHERE username = '$username'";

    $query = "UPDATE balance SET saldo= saldo+$saldo WHERE username = '$username'";

    se devi sommare il campo deve essere int e non testo....e quyindi non servono gli apici

  9. #9
    Avevo già provato a togliere gli apici ma il risultato è lo stesso, se aggiungo 20 punti ad un utente che ne ha 0 il toltale mi da 60!!!

    Potrebbe essere qualcosa nella tabella? te la posto

    CREATE TABLE `balance` (
    `username` varchar(64) NOT NULL default '',
    `saldo` float NOT NULL default '0',
    `last_modified` datetime NOT NULL default '0000-00-00 00:00:00',
    PRIMARY KEY (`username`)
    ) TYPE=MyISAM;


    Grazie dell'aiuto Dany

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.