dimonise
25.11.2012 - 13:36
всем привет, подскажите кто знает - есть таблица в базе , выполняется UPDATE нужно после выполнения запроса записать в таблицу лога кто, когда и какие поля обновил. с определением "кто", "когда" проблем не возникло, а вот как отловить какие поля поменялись и как их названия запихнуть в таблицу - тут ступор
Valick
25.11.2012 - 13:42
а сколько полей в таблице? может проще делать "снимок" строки до изменения и после изменения целиком? Да и при таком раскладе можно сравнить эти строки и оставить только измененные поля.
расскажите подробнее о сущности таблицы и о данных в ней
_____________
Стимулятор ~yoomoney - 41001303250491
dimonise
25.11.2012 - 13:53
в таблице больше 15 полей. данные varchar в основном
Valick
25.11.2012 - 13:56
я так понимаю нужно сохранить и то, что было до и что стало после изменения
покажите пример запроса, чтоб мне легче думалось
___
Один запрос меняет только одно поле или может все имеющиеся поменять, а то и несколько строк одновременно?
_____________
Стимулятор ~yoomoney - 41001303250491
Чтоб не гадать какие поля изменились, надо записывать все поля)
http://habrahabr.ru/post/37693/
Valick
25.11.2012 - 14:03
rooor, не плохо бы все таки знать, что за данные там и как часто происходят изменения
___
скорее всего что-то стратегическое раз автор умалчивает
_____________
Стимулятор ~yoomoney - 41001303250491
dimonise
25.11.2012 - 14:06
да ничего там такого нет! просто админка в которой редактируются данные юзера. админов несколько и что бы отследить кто и что делал нужен лог в котором имя админа, дата и поля которые были изменены, именно поля а не данные
dimonise
25.11.2012 - 14:06
вот запрос апдейта
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
25.11.2012 - 14:24
какой смысл в регистрации измененых полей без регистрации самих изменений? что дает эта информация?
в вашем случае лучше всего просто копировать строку перед изменением в таблицу логов с указанием времени изменения и идентификатором модератора либо самого пользователя.
_____________
Стимулятор ~yoomoney - 41001303250491
dimonise
25.11.2012 - 14:26
я не про смысл спрашивал, а про то как выловить измененные поля
dimonise
25.11.2012 - 14:27
сравнить 2 строчки и самый начинающий сможет. только не много ли ресурса сожрано будет?
Valick
25.11.2012 - 14:36
Цитата |
только не много ли ресурса сожрано будет? |
не много, у вас же не весь китай 24/7/365 модераторами работает
___
про смысл спрашивал я, потому как этот наводящий вопрос позволяет мне сосредоточится на проблеме и дать грамотный ответ, а отсутствие логики как раз мешает моему образному мышлению.
_____________
Стимулятор ~yoomoney - 41001303250491
dimonise
25.11.2012 - 14:41
спасибо. разобрался.
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.