Hallo,
ich stelle unten mal einen Codeschnipsel rein. Im Prinzip will ich damit folgendes erreichen. Ich bekomme aus einem Formular mehrere Zeitwerte mit unterschiedlichen Schlüsseln. Jetzt soll, wenn kein 'zeit'-Wert aus dem Formular übertragen wurde, der Wert 90 (Länge eines Fußballspiels) zum alten DB-Wert dazu addiert werden. Das klappt auch.
Wenn ein Wert übertragen wurde, dann soll logischerweise dieser zum alten DB-Wert hinzuaddiert werden. Wenn ich jetzt aus dem Formular die Daten schicke, daß Spieler Schröder (id=5) 10 Minuten gespielt hat, wird das auch korrekterweise in die DB übernommen. zeit[5]=10min
Wenn ich aber sage, Schröder hat 10 Minuten gespielt und Schmidt (id=6) 20 Minuten, dann addiert er bei Schröder und Schmidt jeweils 30 Minuten dazu. Anstatt zeit[5]=10 und zeit[6]=20, schreibt er also jeweils 30 in die Tabelle. Ich verstehe ainfach nicht, warum die beiden Werte zusammenaddiert werden. Ich denke mal, irgendwas mach ich mit den Arrays falsch.
if(@trim($_POST['zeit'][$key]) == "") {
$sql = "UPDATE
spielerstatistik
SET
Spielzeit = Spielzeit + 90
WHERE
ID = '".$key."'";
mysql_query($sql) OR die("Übertragung fehlgeschlagen: ".mysql_error());
}
else {
foreach ($_POST['zeit'] as $key => $wert) {
$sql = "UPDATE
spielerstatistik
SET
Spielzeit = Spielzeit + '".$wert."'
WHERE
ID = '".$key."'";
mysql_query($sql) OR die("Übertragung fehlgeschlagen: ".mysql_error());
}
}
Gruß,
Onkel Schnitzel