Hm hm, hm. Ok, machen wir langsam.
PHP-Quellcode:
public function save() {
if ($this->exists
and count($this->changed) > 0) {
$
sql =
array();
foreach ($this->changed
as $column) {
$
sql[] = "
`" . $key . "
` = '" . mysqli_real_escape_string($this->fields[$column]) . "
'";
}
$
sql = "
UPDATE `" . $this->table . "
` SET " .
implode("
, ", $
sql) . "
WHERE `id` = " .
intval($this->fields['
id']);
print($
sql);
}
else {
// TODO Insert
}
}
Also wenn ich das richtig verstehe, dann wird für jedes geänderte Feld der Schleifenrumpf aufgerufen. Die geänderten Felder kommen in ein Array (__set). OK. Das Array ist ein assoziatives Array. Der Schlüssel ist der Feldname und der Wert, die Eingabe in dem entsprechendem Edit aus dem Formular. In meinem Fall würde das Array dann alle Felder der Tabelle enthalten. Soweit richtig?
Ich müsste für jedes Eingabefeld __set aufrufen und dann save.
Mal sehen, ob ich das hinbekomme.