Moin!
Wie würdet ihr sowas machen ?
Es hängt etwas davon ab, wie genau die Daten aussehen, und was umständlicher oder einfacher zu machen ist, aber im Prinzip würde ich entweder:
1. Eine History aller Speichervorgänge einrichten, d.h. eine Datenbanktabelle, die immer nur mit INSERT gefüllt wird, und in die sämtliche zu speichernden Daten geschrieben werden. Ein einzelner Prozess generiert dann aus diesen Daten ein neues, aktualisiertes Abbild in der eigentlichen Tabelle, und zwar so, dass die Änderungen in der Reihenfolge nacheinander eingetragen werden.
oder
2. Beim Speichern eines Datensatzes wird verglichen, ob dieser Datensatz seit dem Lesen (für die Bearbeitungsanzeige) verändert wurde, indem das Formular die Lesezeit in einem Hiddenfeld zurück schickt, und der Datensatz ein Timestamp-Feld enthält (das aktualisiert sich, wenn man es nicht explizit auf eine Zeit setzt, bei INSERT und UPDATE in dem Datensatz immer auf die aktuelle Zeit), mit dem man vergleichen kann. Wenn seit dem Lesen des Datensatzes in der DB Änderungen vorgenommen wurden, muß der Benutzer den veränderten neuen und seinen bearbeiteten Datensatz nochmal vorgelegt bekommen, um zu entscheiden, welche Version, ggf. auch detaillierter welche Datenfelder genau zu übernehmen sind.
- Sven Rautenberg
My sssignature, my preciousssss!