Ankündigung

Einklappen
Keine Ankündigung bisher.

Probleme bei berechnung in einer abfrage

Einklappen

Neue Werbung 2019

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

  • Probleme bei berechnung in einer abfrage

    Hallo Leute!

    Hab ein kleines Problem! Hab hier ein Wettscript und hab das etwas verändert! soweit klappt alles nur beim eintragen vom Ergebnis stimmt etwas nicht!

    PHP-Code:
    safe_query("UPDATE ".PREFIX."user a, ".PREFIX."wetten_user b SET vdollars=vdollars + ROUND(gesetzt * 2) WHERE `wettID` = '".$wettID."' AND `ergebnis` = '".$winner."' AND a.userID = b.userID"); 
    Das hier war die ursprüngliche Abfrage die so auch Funktionierte! Er holte sich die user die das ergebnis richtig getippt hatten von der wette und und in einer tabelle user setzte er das feld vdollar sodas er das gesetzte geld*2 dazu zählte!

    hab jetzt aber quoten eingebaut was bedeutet das er nicht einfach den einsatz mal 2 rechnen kann sondern den einsatz * die quote holen muss und die zum feld vdollar dazu zählen muss!

    Hier holt er sich die quoten!
    PHP-Code:
        ##### Test Qouten Berechnung
        
    $ds mysql_fetch_row("SELECT qheim,qdram,qaus FROM ".PREFIX."wetten WHERE wettID='".$wettID."'");
        
        
    $qheim $row['qheim'];    
        
    $qdraw $row['qdraw'];    
        
    $qaus $row['qaus'];    
        
        switch (
    $winner){
            case 
    1:
                
    $quote $qheim;
                break;
            case 
    2:
                
    $quote $qaus;
                break;
            case 
    3:
                
    $quote $qdraw;  
                break;
        } 
    Und so wollte ich den updaten befehl dann machen

    PHP-Code:
    safe_query("UPDATE ".PREFIX."user a, ".PREFIX."wetten_user b SET vdollars=vdollars + ROUND(gesetzt * '".$quote."') WHERE `wettID` = '".$wettID."' AND `ergebnis` = '".$winner."' AND a.userID = b.userID"); 
    Das funktioniert so nicht ganz! Hat jemand ne Idee was falsch sein könnte?

    Greetz Fraylman

  • #2
    Das du die ganzen Integer bzw. Floats zu Strings machst irritiert mich auf dem ersten Blick total.

    Grüße
    Tine

    Kommentar


    • #3
      Also die obere Abrage funktioniert ja so wollte nur bei der Berechnung halt nicht mal 2 rechnen sondern mal $quote!

      Kommentar


      • #4
        PHP-Code:
        ROUND(gesetzt '".$quote."'
        Hier mutiplizierst du doch aber einen String mit gesetzt, ob das günstig ist?
        Was ist denn in $quote drin? Das soll doch bestimmt eine Zahl sein, wie man es
        im landläufigen Sinne nennt. Warum dann die ' ?

        Kommentar


        • #5
          in $quote sind die Quoten drin! wie z.b 1.25 , 3.5 oder 2.00 wie die Quote halt ist! Was sollte ich deiner Meinung nach anders machen ?

          Kommentar


          • #6
            PHP-Code:
            ROUND(gesetzt " . $quote. "

            Kommentar


            • #7
              Hm das geht leider auch nicht er verändert nichts am feld vdollar

              Kommentar


              • #8
                lass dir halt mal die query ausgeben. und dann wirst du vielleicht feststellen, dass deinem switch da oben z.b. die $winner variable fehlt.

                Kommentar


                • #9
                  PHP-Code:
                  $ds mysql_fetch_row("SELECT qheim,qdram,qaus FROM ".PREFIX."wetten WHERE wettID='".$wettID."'");
                      
                      
                  $qheim $row['qheim'];    
                      
                  $qdraw $row['qdraw'];    
                      
                  $qaus $row['qaus']; 
                  Und was ist damit?
                  Was soll da drin sein? $ds = $row?

                  Kommentar


                  • #10
                    hmm ja nikosch da hast du recht! die $winner fehlt dem aber frag mich wieso auf einmal!

                    vorher ging das alles ja und da hatte er die $winner ?? oberdrüber bekommt er die ja mit $winner = $_POST['winner'];

                    Kommentar


                    • #11
                      vielleicht gibts keinen?
                      tinchen's eintrag beachtet?

                      Kommentar


                      • #12
                        nein nicht gesehen aber hab ich nun beachtet! war was falsch

                        PHP-Code:
                        <?php $ds mysql_fetch_row("SELECT qheim,qdram,qaus FROM ".PREFIX."wetten WHERE wettID='".$wettID."'");
                            
                            
                        $qheim $ds['qheim'];    
                            
                        $qdraw $ds['qdraw'];    
                            
                        $qaus $ds['qaus'];
                        so sollte es heißen!

                        Kommentar


                        • #13
                          Und wenn ich mir die variable $winner ausgeben lasse steht dort 1 drin was auch richtig ist!

                          Kommentar


                          • #14
                            wie sieht denn nun die query aus? wie erwartet?

                            Kommentar


                            • #15
                              hm da ist wohl eher ein fehler hier:

                              PHP-Code:
                              $ds mysql_fetch_row("SELECT qheim,qdram,qaus FROM ".PREFIX."wetten WHERE wettID='".$wettID."'");
                                  
                                  
                              $qheim $ds['qheim'];    
                                  
                              $qdraw $ds['qdraw'];    
                                  
                              $qaus $ds['qaus']; 
                              weil wenn ich hier:
                              PHP-Code:
                                  switch($winner){
                                      case 
                              "1":
                                          
                              $quote 2.10;
                                          break;
                                      case 
                              "2":
                                          
                              $quote 3.00;
                                          break;
                                      case 
                              "3":
                                          
                              $quote 3.50;
                                          break;
                                  } 
                              die variable quote von hand besetze dann macht er alles richtig


                              aber warum übernimmt er oben die variblen nicht?

                              Kommentar

                              Lädt...
                              X