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.
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 == 1 && $win1 == $wins) || ($i == 2 && $win2 == $wins) || ($i == 3 && $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());
}
Kommentar