dedlfix: Wie bekommt ein Objekt Änderung eines andern Objektes mit?

Beitrag lesen

echo $begrüßung;

Wenn es Objekte wären, dann könnte das Observer-Pattern helfen.

A ändert den Ort, die Änderung wird auch in eine Datenbank geschrieben. B bekommt davon ja nichts mit... er müsste doch wohl erst wieder aus der Datenbank lesen?

Du hast hier aber letzlich keine Objekte sondern Datensätze. Und solange das DBMS nicht einen Mechanismus anbietet, an den sich Andere ankoppeln können, um über Änderungen informiert zu werden, hast du schlechte Karten. Du könntest einen Service davorschalten, über den alls DBMS-Handlungen gehen müssen und der für diese Informationsweitergabe sorgt. Wenn es dir aber nur um Kollisionsvermeidung beim quasi gleichzeitigen Ändern geht, dann gibt es diverse Ansätze. Einer wäre eine Versionsnummer im Datensatz, die bei Änderungen hochgezählt wird. Eine Änderung muss aber vorher prüfen, ob die Version noch stimmt. Das kann auch als Einschränkung beim Update formuliert werden: WHERE ID=? AND Version=?. Werden damit 0 Datensätze geändert, gab es einen Konflikt. Das Ganze kann man auch ohne Versionsnummer realisieren, dann müssen aber alle Felder und deren ursprünglich ausgelesenen Werte in die Update-Bedingung einfließen.

echo "$verabschiedung $name";