while schleifen für Zinsen?

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hi


    Ich wollte ma fragen wie ich von allen spielern die gereggt sind (Werte sind in einer MySQL tabelle) zinsen auf ihr kontostand geben kann.


    Die querry´s sind so.


    Auslesen:


    SQL
    SELECT BankGeld FROM User WHERE Name!=''


    Speichern:


    SQL
    UPDATE User SET Bankgeld='%d' WHERE Name!=''


    Aber ich weiß nicht wie ich das jetzt anstellen kann, dass das dann auch für alle ausgeführt wird^^ Sind die querrys richtig? Brauche ich eine While-schleife?


    Bitte um holfe :)


    MFG, Robdeflop®

  • was soll das > WHERE Name!=' ' <


    ergibt kein sinn da negation einzubauen? genauso wenig wie beim update? wieso !=


    ansonsten hast du doch nen payday oder nen timer der für alle spieler läuft, da holst für den name den wert und updatest den nachdem du irgendwelche zinsen dazugezähl hast einfach wieder

  • Vllt so?
    In nen Timer
    Kann fehler enthalten!


    // Edit:
    new name[24];
    GetPlayerName(playerid,name,24);
    if(strcmp(name,"BOTNAME",true) == 0) /* Falls der spieler ein Bot ist */
    {
    }else{
    new query[50];
    format(query,"UPDATE User SET Bankgeld='%d' WHERE Name='%s'",name);
    mysql_query(query);
    }

    Einmal editiert, zuletzt von AdnaN ()

  • Die Queryies kommen von mir so checke ich in PHP ob der Spieler name nich leer ist.


    PHP
    $query = "SELECT * FROM User WHERE Name!= ' ' ";
    $result = mysql_query($query);
    white($xxx = mysql_fetch_array($result))
    {
    $bankgeld = $xx['Bankgeld'];
    
    
    }


    So mache ich das z.B in PHP.


    Nun haben wir keine ahung wie das in PWN gemacht wird.


    mfg Kagayushi

  • Hab mich mal grad umgesehen und was entdeckt.


    Wen man nur diesen query ausführt:

    SQL
    UPDATE `User` SET Bankgeld='%d'


    Wird in jeder Zeile Der wert der Spalte "Bankgeld" verändert.


    Somit brauchst du kein Namen eintragen.

  • ja, aber macht der dass dann auch automatisch für alle? es haben ja auch alle verschiedene kontodaten. d.h. ich muss jedes nach und nach auslesen, mal 1.05 rechnen und dann wieder speichern. Da ist ja mein problem


    MFG, Robdeflop®

  • Mach mal eine neue Tabelle und füge dort das Feld Bankgeld ein.
    Mach dort viele zeilen.


    Führe dan diesen query aus:

    SQL
    "SELECT Bankgeld FROM neueDB"


    Und dan multipliziere es mit 0.15 speicher den Wert in einer Variable und führe dan das aus

    SQL
    "UPDATE neueDB SET Bankgeld='%d',variable"


    So kannste nix kapput machen.^^