Announcement

Collapse
No announcement yet.

Problem mit Summen Function

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problem mit Summen Function

    Hallo zusammen,

    ich habe folgendes Problem mit einer Function, welche die Summe von Effektivitätswerten ausrechnen soll. Genau genommen für jeden Spieler und zwar von den Spieltagen $seit - $bis

    So wie ihr es unten seht funtkioniert es nicht (mysql_error). Wenn ich die beiden Variablen $seit und $bis direkt in die Funktion eintrage funtkioniert es. Allerdings ist das ja nicht der Sinn der sache, da die Spieler nicht immer die gleichen Spieltage haben.


    PHP Code:
     $res mysql_query(
    "SELECT distinct s.spielerid, k.seit, k.bis
    FROM spieler s
    INNER JOIN kader k ON s.spielerid=k.spielerid
    WHERE k.managerid=
    $managerid 
    ORDER BY s.spielerid;"
    );
        
    $num mysql_num_rows($res);

    function 
    gespunkte($spielerid
        {                  
        
    $sql "SELECT SUM(effekt) AS summe
        FROM spieltag
        WHERE spielerid = 
    $spielerid
        AND spieltagnr BETWEEN 
    $seit AND $bis";
           
        
    $result mysql_query($sql) or die(mysql_error);
        
    $row mysql_fetch_assoc($result);
        return 
    $row['summe'];
        } 
        
      for (
    $i=0$i<$num$i++)
       {
             
    $spielerid mysql_result($res$i"s.spielerid");
          
    $seit mysql_result($res$i"k.seit");
          
    $bis mysql_result($res$i"k.bis");
              
         
    $punkte gespunkte($spielerid);
             echo 
    gespunkte($spielerid);
       } 
    Ich würde mich freuen, wenn mir der ein oder andere helfen kann und bitte verzeiht mir, falls das totaler Mist ist, was ich mir da zurecht geschrieben habe

    #baller

  • #2
    Hallo,

    ist wohl hier besser aufgehoben.

    Originally posted by 25baller View Post
    ...So wie ihr es unten seht funtkioniert es nicht (mysql_error).
    Was für ein Error? Was funktioniert nicht? Was steht in $seit und $bis?

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Hallo,

      danke fürs verschieben

      Der/die Fehler:
      1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND' at line 4

      Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\manager\team.php on line 189


      In $seit und $bis stehen Integer Werte zwischen 1 und 30.

      Was nicht funktioniert? Die Summe aus den jeweiligen Effektivitätswerten bilden
      Beispiel: Spieler 1 spielt von Spieltag 3-6 nun möchte ich von diesem Spieler eben nur die Effektivitätswerte von den Spieltagen 3-6. Hoffe das ist halbwegs verstädnlich.

      Wenn ich die Variablen direkt in die Funktion eintrage läuft es wunderbar.

      PHP Code:
      function gespunkte($spielerid
          {       
           
      $seit 3;
           
      $bis 6;
                 
          
      $sql "SELECT SUM(effekt) AS summe
          FROM spieltag
          WHERE spielerid = 
      $spielerid
          AND spieltagnr BETWEEN 
      $seit AND $bis";
             
          
      $result mysql_query($sql) or die(mysql_error);
          
      $row mysql_fetch_assoc($result);
          return 
      $row['summe'];
          } 

      Comment


      • #4
        Hat sich erledigt. Hab eine Lösung gefunden, ob die so richtig und elegeant ist weiß ich nicht, hauptsache sie funktioniert.

        PHP Code:
        function gespunkte($spielerid$seit$bis
            {                  
            
        $sql "SELECT SUM(effekt) AS summe
            FROM spieltag
            WHERE spielerid = 
        $spielerid
            AND spieltagnr BETWEEN 
        $seit AND $bis";
               
            
        $result mysql_query($sql) or die(mysql_error);
            
        $row mysql_fetch_assoc($result);
            return 
        $row['summe'];
            } 
        Trotzdem danke

        Comment

        Working...
        X