Onkel Schnitzel: Problem mit Array-Schlüsseln und Werten

Beitrag lesen

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