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

Beitrag lesen

Moin,

ich habs hinbekommen. Ich hatte wirklich einen Denkfehler drin und ich hab Euch auch einen wichtigen Teil des Codes vorenthalten. Und zwar stand die ganze if-Bedingung in einer weiteren foreach-Schleife, die aber völliger Blödsinn war. Deswegen hab ich die Bedingung da rausgenommen und umgeformt.

foreach ($_POST['zeit'] as $key => $wert) {
      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 {
           $sql = "UPDATE
                       spielerstatistik
                   SET
                       Spielzeit = Spielzeit + '".$wert."'
                   WHERE
                       ID = '".$key."'";
           mysql_query($sql) OR die("Übertragung fehlgeschlagen: ".mysql_error());
      }
  }

So scheints jetzt erstmal zu funktionieren. Die trim =="" - Abfrage konnte ich irgendwie nicht durch if(!(isset($_POST['zeit'][$key]))) { ersetzen. Die Bedingung war nie erfüllt, weil der zeit-Schlüssel immer übertragen wird, auch wenn ich das Formularfeld nicht ausfülle. Aber der Schlüssel hat dann halt keinen Wert, deshalb das =="". Was ist daran nicht so schlecht? Funktioieren tut's ja.

Gruß,
Onkel Schnitzel