Visualizzazione risultati 1 fino 10 di 10

Discussione: Aggiornare un campo numerico in un database

  1. #1
    Guest

    Predefinito Aggiornare un campo numerico in un database

    ciaor agazzi, mi sto scervelando su un altro probelma (dopo aver capito come funzionano i vettori )

    devo aggiornare un campo INT in un record...
    solo che non lo fa.. come mai?

    Codice PHP:
    $upd = mysql_query("SELECT * FROM giocatori WHERE id_giocatore in (".$listaid.") ") or die(mysql_error());
    while(
    $riga = mysql_fetch_array($upd)){
    $punti = $riga['punti'];
    echo
    "PUNTI ANTE= $punti <br>"; //controllo che da il valore GIUSTO nel record
    $id = $riga['id_giocatore'];
    $punti = $punti + $omma; //$somma HA un valore, controllato con echo
    echo"PUNTI POST= $punti <br>"; //controllo che conferma che non vienefatta la somma :(
    mysql_query("UPDATE giocatori SET punti='$punti' WHERE id_giocatore='$id'") or die(mysql_error());
    }
    grazie.
    Ultima modifica di lsdforum : 29-04-2006 alle ore 14.38.21

  2. #2
    Guest

    Predefinito

    Strano: l'ho provato adesso e mi funziona... comunque prova così:
    Codice PHP:
    mysql_query("UPDATE giocatori SET punti='".$punti."' WHERE id_giocatore='".$id."'") or die(mysql_error());

  3. #3
    Guest

    Predefinito

    non va nemmeno così!
    ma è lecito fare una query annidata in un while che fa il fetch?

  4. #4
    Guest

    Predefinito

    Ora che me lo fai notare, penso proprio di no... Scusa la distrazione...
    Comunque se vai alla pagina sulla funzione e leggi le note dei contribuenti capisci anche perché.

  5. #5
    Guest

    Predefinito

    no invece ora che controllo, l'ho già fatto in precedenza in un altor script di fare un UPDATE in un fetch
    Ultima modifica di lsdforum : 29-04-2006 alle ore 15.01.07

  6. #6
    Guest

    Predefinito

    So per certo che non è il modo migliore, ma penso che potresti provare a fare una funzione da richiamare nel 'while':
    Codice PHP:
    function update_table() {
    $upd = mysql_query("SELECT * FROM giocatori WHERE id_giocatore in (".$listaid.") ") or die(mysql_error());
    $punti = $riga['punti'];
    $id = $riga['id_giocatore'];
    $punti = $punti + $somma;
    mysql_query("UPDATE giocatori SET punti='$punti' WHERE id_giocatore='$id'") or die(mysql_error());
    }

  7. #7
    Guest

    Predefinito

    in realtà mi sono accorto che l'unico problema è che NON viene fatta la somma!

    non viene eseguito il

    $punti = somma + $punti

    come mai?

    cioè, l'aggiornramento viene eseguito correttamente con il mio script,
    ma non viene eseguita la somma!
    Ultima modifica di lsdforum : 29-04-2006 alle ore 15.03.33

  8. #8
    Guest

    Predefinito





    Che figura! Dopo tutto questo si arriva al fatto che non va la somma... Sigh!
    Comunque quello dipende dal fatto che tu hai scritto '$punti = $punti + $omma;'... riprova con '$punti = $punti+$somma;'

  9. #9
    Guest

    Predefinito

    mi vergognavo a pensarlo.
    infatti ad un certo punto dovo qualche smanettamento di codice aveva iniziato a fungere..
    non avevo capito come mai.. me l'hai fatto capire tu :D

    ciao ciao

  10. #10
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Visto che risolto, chiudo.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •