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