Update einer mysql db in Schleife

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

  • Update einer mysql db in Schleife

    Hallo!
    Folgendes soll hier geschehen: Es werden alle Member erfragt, die einen Tipp abgegeben haben (für drei Spiele). Jetzt sollen alle Member durchlaufen werden (while-Schleife), die Tips für die drei Spiele überprüft und bei richtigem Tipp die Score erhöht werden (if) und dann ein Update des Members. Das Problem ist, dass nur ein Datensatz aktualisiert wird und ich weiß nicht warum, da definitiv mehrere Datensätze von der Abfrage geliefert werden. Sieht irgendjemand einen Fehler? Fehlermeldung gibts keine.
    Vielen Dank schonmal.

    PHP-Code:
    // Das Result Set wird durchlaufen
          
    while ($row mysql_fetch_array($result)) {
            
    $memberid $row[0];
            
    $game1 $row[1];
            
    $win1 $row[2];
            
    $game2 $row[3];
            
    $win2 $row[4];
            
    $game3 $row[5];
            
    $win3 $row[6];
            
    $totalscore $row[7];
            
    $lastscore 0;
    // Die drei Tipps werden überprüft   
            
    for ($i 1$i 4$i++) {
              
    $sql "SELECT game.win ";
              
    $sql .= "FROM game ";
              if (
    $i == 1)
                
    $sql .= "WHERE game.game_id = " $game1;
              else if (
    $i == 2)
                
    $sql .= "WHERE game.game_id = " $game2;
              else if (
    $i == 3)
                
    $sql .= "WHERE game.game_id = " $game3;
              
    $result mysql_query($sql$conn)
                or die(
    "error in query: " $sql "<br />error message: " mysql_error());
              
    $row mysql_fetch_array($result);
              
    $wins $row[0];
              if ((
    $i == && $win1 == $wins) || ($i == && $win2 == $wins) || ($i == && $win3 == $wins)) {
                
    $lastscore $lastscore 10;
                
    $totalscore $totalscore 10;
              }
            }
    // Das Update der Member-Daten
            
    $update "UPDATE member_picks ";
            
    $update .= "SET last_score = " $lastscore ", total_score = " $totalscore ", ";
            
    $update .= "game1 = 0, win1 = 0, game2 = 0, win2 = 0, game3 = 0, win3 = 0 ";
            
    $update .= "WHERE member_id = " $memberid;
            
    mysql_query($update$conn)
              or die(
    "error in query: " $update "<br />error message: " mysql_error());
          } 

  • #2
    Re: Update einer mysql db in Schleife

    könnte es vielleicht daran liegen, dass du dir innerhalb der while-schleife $result mit dem ergebnis der zweiten select-abfrage überschreibst ...?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Vielen, vielen Dank!
      So ein blöder Fehler... aber manchmal sieht man halt den wald vor lauter bäumen nicht...

      Kommentar

      Lädt...
      X