Mailinglisten-Archive |
Ing. Thomas Kolditz wrote: > ein datensatz wird per eingabemaske (php) editiert - und soll wieder in > geänderter form in die DB eingetragen werden. > > davor soll aber die änderung erkannt und mitprotokolliert werden. > > ziel: > > beim datensatz ein button "archiv" mit all den veränderungen in laufe > der zeit. > > ich habe folgenden denkansatz: > > bevor das UPDATE gefahren wird soll der datensatz noch einmal davor > rausgeholt werden und mit den neuen daten verglichen werden - ist eine > änderung in einem feld, dann schreibt das script das in eine > "veränderungstabelle". > > richtiger weg ?? oder gibt es da etwas in mysql, das das von haus aus > geht? > > bin schon am verzweifeln, da der weg in PHP steinig wird, weil über 50 > felder... Hallo, ich würde es so machen - auslesen des datensatzes (SELECT) - speichern des datensatzes (UPDATE) - überprüfen ob der datensatz wirklich aktualisiert wurde (MYSQL_AFFECTED_ROWS) - wenn wirklich ein update vorlag speichern des originale datensatzes nochmals z.b. in anderer tabelle mit datatable: ID | DATA | TIME ---------------------------- 1 | 001 | ..020 2 | 123 | ..043 3 | XXX | ..076 ... historytable ID | DATA | TIME ---------------------------- 1 | 000 | ..001 2 | 100 | ..003 3 | AAA | ..005 2 | 108 | ..011 2 | 222 | ..020 3 | BBB | ..060 3 | XYZ | ..065 ... man könnte dies natürlich auch in einer tabelle machen, muss dann beim select halt immer den aktuellsten satz einer ID nehmen wenn die datentabelle aus sehr vielen spalten besteht aber meißtens nur wenige oder gar nur eine geändert wird könnte man die historytablle auch wie folgt aufbauen datatable: ID | DATA1 | DATA2 | TIME ------------------------------ 1 | 001 | x001 | ..020 2 | 123 | x123 | ..043 3 | XXX | xXXX | ..076 ... historytabelle ID | SPALTENNAME | DATA | TIME ---------------------------------- 1 | DATA1 | 000 | ..001 2 | DATA2 | x100 | ..003 3 | DATA1 | AAA | ..005 2 | DATA1 | 100 | ..011 2 | DATA2 | x120 | ..020 3 | DATA2 | xABC | ..060 3 | DATA1 | XYZ | ..065 ... so viel von mir, viel spaß beim weiterknobeln.. ;-) -- Sebastian Mendel info at sebastianmendel.de www.sebastianmendel.de www.tekkno4u.de www.nofetish.com -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive