Script nimmt if nicht richtig

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Script nimmt if nicht richtig

    Hallo.
    Was könnte an dem Code Falsch sein?
    PHP-Code:
    if($dbdata[richtige] == "1")
        {
        
    $klammid=$dbdata[klammid];
        
    $g_haben=$dbdata[g_haben]+100;      
        
    $update "UPDATE `konten` SET g_haben='$dbdata[g_haben]'+100 WHERE klammid='$dbdata[klammid]'"
    $result mysql_query($update)  ;
        }
        if(
    $dbdata[richtige] == "2")
        {
        
    $klammid=$dbdata[klammid];
        
    $g_haben=$dbdata[g_haben]+200;
        
    $update "UPDATE `konten` SET g_haben='$dbdata[g_haben]'+200 WHERE klammid='$dbdata[klammid]'"
    $result mysql_query($update);
        }
       if(
    $dbdata[richtige] == "3")
        {
        
    $klammid=$dbdata[klammid];
         
    $g_haben=$dbdata[g_haben]+300;
        
    $update "UPDATE `konten` SET g_haben='$dbtata[g_haben]'+300 WHERE klammid='$dbdata[klammid]'"
    $result mysql_query($update);
        }
        if(
    $dbdata[richtige] == "4")
        {
        
    $klammid=$dbdata[klammid];
         
    $g_haben=$dbdata[g_haben]+400;
        
    $update "UPDATE `konten` SET g_haben='$dbtata[g_haben]'+400 WHERE klammid='$dbdata[klammid]'"
    $result mysql_query($update);
        }
        if(
    $dbdata[richtige] == "5")
        {
        
    $klammid=$dbdata[klammid];
        
    $g_haben=$dbdata[g_haben]+500;
        
    $update "UPDATE `konten` SET g_haben='$dbtata[g_haben]'+500 WHERE klammid='$dbdata[klammid]'"
    $result mysql_query($update);
        }
        if(
    $dbdata[richtige] == "6")
        {
        
    $klammid=$dbdata[klammid];
         
    $g_haben=$dbdata[g_haben]+600;
        
    $update "UPDATE `konten` SET g_haben='$dbtata[g_haben]'+600 WHERE klammid='$dbdata[klammid]'"
    $result mysql_query($update);
        }
        if(
    $dbdata[richtige] == "7")
        { 
        
    $klammid=$dbdata[klammid];
        
    $g_haben=$dbdata[g_haben]+700;
        
    $update "UPDATE `konten` SET g_haben='$dbtata[g_haben]'+700 WHERE klammid='$dbdata[klammid]'"
    $result mysql_query($update);
        } 
    Das Script erneuert den Wert zwar aber rechnet nicht den vorhandenen mit dem neuen zusammen

  • #2
    1: Könntest du vieleicht noch ein bißchen was darüber erzählen was dsa ganze machen soll

    2: Obwohl ich nich weiß was das ganze beweirkt:
    Das ganze sieht auch arg unsinnig aus, bist du sicher das man das so auschreiben muß? würde nicht
    PHP-Code:
    if ($dbdata[richtige] < && $dbdata[richtige] >0)
    {
        
    $klammid=$dbdata[klammid];
        
    $g_haben=$dbdata[g_haben]+$dbdata[richtige]*100;      
        
    $update "UPDATE `konten` SET g_haben='$dbdata[g_haben]'+".($dbdata[richtige]*100)." WHERE klammid='$dbdata[klammid]'"
    $result mysql_query($update) ;

    reichen???
    Die Musikreview Seite

    hi, i'm a signature virus. copy me into your signature to help me spread.

    Kommentar


    • #3
      Nein

      Also ich bin dabei ein "Lotto" Script zu proggen.
      Ich habe ein Script das 7 Zahlen zieht. Dieses Script speichert die Zahlen in einer DB.
      Ein anderes Script vergleicht die Gezogenen Zahlen mit den Getippten Zahlen der User und speichert ebenfalls die ERgebnisse als 1 ,2, 3, 4, 5, 6, 7 in einer db.
      Das Script was ich gepostet habe soll die Zahlen 1 bis sieben auslesen und dann die Spalte g_haben erneuern.
      Wenn Guthaben 1000 und der User hat 7 Richtige sollen zu dem Guthaben eben 700 dazukommen.
      Das macht er aber nicht

      Kommentar


      • #4
        1: Mein script macht das selbe wie deins...
        2: Ist das SQL.. schau dir mal deinen query genau an, da steht:
        Code:
        SET g_haben='$dbdata[g_haben]'+200 
        da $dbdata[g_haben] vermutlich eine ZAHL ist, nehme ich jetzt mal beispielshalber 23, dann steht da:
        SET g_haben='23'+200
        Da sieht man, die '' sind irgendwie doof, da ja 23 kein string sein soll...
        Die Musikreview Seite

        hi, i'm a signature virus. copy me into your signature to help me spread.

        Kommentar


        • #5
          Demzufolge sollte es funzen wenn du statt dem Ganzen Kram in deinem ersten Post einfach:
          PHP-Code:
          if ($dbdata[richtige] < && $dbdata[richtige] >&& isset($dbdata[klammid]))
          {
              
          $update "UPDATE `konten` SET g_haben=".$dbdata[g_haben]+$dbdata[richtige]*100)." WHERE klammid=".$dbdata[klammid].";"
              
          $result mysql_query($update) ;

          oder hab ich da jetzt was falsch verstanden?
          Die Musikreview Seite

          hi, i'm a signature virus. copy me into your signature to help me spread.

          Kommentar


          • #6
            Ist ja SChön und Gut

            Ist ja alles Schön und gut. Nur er erneuert immer nur den WErt in der Tabelle.
            Er rechnet nicht den Alten Wert der in der DB ist mit dem neuen Zusammen und speichert den.

            Kommentar


            • #7
              Kann Geschlossen werden

              So kann geschlossen werden.
              Habe Fehler irgendwie beseitigt
              Neue Update Anweisung
              PHP-Code:
              $update mysql_query("UPDATE `konten` SET `g_haben` = `g_haben` + '400' WHERE klammid='$dbdata[klammid]'"); 
              Nun macht er das wass ich will.

              Danke @ Tartax für die Versuche.
              Ich habe deswegen die 7 ifs genommen weil die Summen die erhöht werden noch Variabel kommen. also dann nicht mehr +100 sondern +$klasse1 usw.
              Und das kann ich mit deinem Codeteil leider nicht machen.

              Kommentar


              • #8
                Ja, aber du hast einige sachen die in jedem Codeblock ausgeführt werden, die kannst du ja rausnehmen und einzeln ausführen.
                Die Musikreview Seite

                hi, i'm a signature virus. copy me into your signature to help me spread.

                Kommentar


                • #9
                  Re: Kann Geschlossen werden

                  Original geschrieben von funnyzocker
                  Ich habe deswegen die 7 ifs genommen weil die Summen die erhöht werden noch Variabel kommen. also dann nicht mehr +100 sondern +$klasse1 usw.
                  Und das kann ich mit deinem Codeteil leider nicht machen.
                  trotzdem solltest du dir mal switch() ansehen, um solche if-konstrukte effektiver machen zu können.

                  ausserdem hat tartax recht, du hast jede menge redundanten code da drin, der nicht nötig ist.
                  Zuletzt geändert von wahsaga; 25.01.2004, 11:06.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar

                  Lädt...
                  X