Autor Zpráva
Tomasds
Profil
Mám tabulku, z webu do ní můžu přidávat položky - řádky a editovat je.
Chtěl bych logovat změny. Tzn. otevřu si položku (data z jednoho řádku), natáhnu data do formuláře, opravím jeden údaj, uložím.
Lze nějak na úrovni mysql odchytit, co jsem změnil?

Můžu to řešit na úrovni JS, ale to bych dost nerad, protože s JS nejsem kamarád.
grimword
Profil
kdyz ukladas zmenu do tabulky, tak zaroven provedes ulozeni informace do jine tabulky o zmene
Tomasds
Profil
grimword
Jasně. Mně jde o to, jak tu změnu zjistit, aniž bych musel před tím UPDATEm vytáhnout řádek z tabulky a tupě porovnat jednu hodnotu po druhé.
Taps
Profil
Tomasds
co k těm položkám např. přidat položku datum a pomocí funkce datetime tam odchytit datum změny
Tomasds
Profil
Asi jsem to špatně formuloval, tak ještě jednou.
Z tabulky vytáhnu záznam, dejme tomu 10 hodnot předvyplním do formuláře.
Když pak ve formuláři změním jednu položku a ostatní nechám, chci nějak zalogovat, že byla změněna jen ta jedna konkrétní věc.

Můžu to udělat tupě tak, že ještě před updatem vytáhnu selectem z tabulky daný záznam a porovnám jednu položku po druhé s tím, co se odeslalo z formuláře. To ale nechci, protože bych se z toho osypal.

A k tomu, co jsem viděl v tom phpadminu: otevřu si záznam, který obsahuje 10 položek (z 10 sloupců), upravím jednu hodnotu, dám uložit a vidím, že se updatuje jen ta jedna hodnota.
To znamená, že phpadmin umí odlišit, že změna proběhla jen v tom jednom poli formuláře. Toto potřebuju odchytit, protože potřebuju zalogovat, že někdo změnil tu a tu hodnotu (hodnoty).
Mastodont
Profil
Lze nějak na úrovni mysql odchytit, co jsem změnil?
Triggerem, pokud ti ale opravdu stačí to, že to budeš mít zalogované zase jen v MySQL, odkud si to můžeš načíst.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0