[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: отслеживание изменений
dimonise
всем привет, подскажите кто знает - есть таблица в базе , выполняется UPDATE нужно после выполнения запроса записать в таблицу лога кто, когда и какие поля обновил. с определением "кто", "когда" проблем не возникло, а вот как отловить какие поля поменялись и как их названия запихнуть в таблицу - тут ступор
Valick
а сколько полей в таблице? может проще делать "снимок" строки до изменения и после изменения целиком? Да и при таком раскладе можно сравнить эти строки и оставить только измененные поля.
расскажите подробнее о сущности таблицы и о данных в ней

_____________
Стимулятор ~yoomoney - 41001303250491
dimonise
в таблице больше 15 полей. данные varchar в основном
Valick
я так понимаю нужно сохранить и то, что было до и что стало после изменения
покажите пример запроса, чтоб мне легче думалось smile.gif
___
Один запрос меняет только одно поле или может все имеющиеся поменять, а то и несколько строк одновременно?

_____________
Стимулятор ~yoomoney - 41001303250491
rooor
Чтоб не гадать какие поля изменились, надо записывать все поля)
http://habrahabr.ru/post/37693/
Valick
rooor, не плохо бы все таки знать, что за данные там и как часто происходят изменения smile.gif
___
скорее всего что-то стратегическое раз автор умалчивает smile.gif

_____________
Стимулятор ~yoomoney - 41001303250491
dimonise
да ничего там такого нет! просто админка в которой редактируются данные юзера. админов несколько и что бы отследить кто и что делал нужен лог в котором имя админа, дата и поля которые были изменены, именно поля а не данные
dimonise
вот запрос апдейта
mysql_query ("UPDATE `users` SET `fname` = '$_POST[fname]', `lname` = '$_POST[lname]',`login` = '$_POST[login]',  `date` = '$_POST[date]', `source` = '$_POST[source]' WHERE `id`='$_POST[id]'");
Valick
какой смысл в регистрации измененых полей без регистрации самих изменений? что дает эта информация?
в вашем случае лучше всего просто копировать строку перед изменением в таблицу логов с указанием времени изменения и идентификатором модератора либо самого пользователя.

_____________
Стимулятор ~yoomoney - 41001303250491
dimonise
я не про смысл спрашивал, а про то как выловить измененные поля
dimonise
сравнить 2 строчки и самый начинающий сможет. только не много ли ресурса сожрано будет?
Valick
Цитата
только не много ли ресурса сожрано будет?

не много, у вас же не весь китай 24/7/365 модераторами работает
___
про смысл спрашивал я, потому как этот наводящий вопрос позволяет мне сосредоточится на проблеме и дать грамотный ответ, а отсутствие логики как раз мешает моему образному мышлению.


_____________
Стимулятор ~yoomoney - 41001303250491
dimonise
спасибо. разобрался.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.