Отслеживание изменений
#1
Отправлено 30 Сентябрь 2011 - 09:39
Вопрос такой: как отследить изменение какой-либо записи? Необходимо чтобы выводилось напоминание, если какая-то запись в определенной таблице была изменена или добавлена. Есть мысль добавить поле, в котором будет информация, например, 0 - старая запись, 1 - новая, 2 - измененная и т.п. Так вот как определить, что запись изменялась?
#2
Отправлено 30 Сентябрь 2011 - 13:39
#3
Отправлено 30 Сентябрь 2011 - 16:22
#5 Гость_Roman_*
Отправлено 25 Май 2012 - 07:12
`u`='1'
#7
Отправлено 26 Июнь 2015 - 12:05
Подскажите как сделать поле "Изменена" чтобы там показывались дата и время любого изменения записи.
Поля "Добавлена" не хватает. Спасибо.
#8
Отправлено 26 Июнь 2015 - 15:29
$line['Изменена'] = date('Y-m-d H:i:s');
Если нет желания отмечать на событие все поля, можно поставить событие "сохранение записи", но в этом случае вычисление не будет работать в подтаблицах.
#9
Отправлено 02 Июль 2015 - 11:20
Спасибо.
Сообщение отредактировал master2015: 02 Июль 2015 - 12:18
#10
Отправлено 02 Июль 2015 - 15:59
$line['Изменена'] .= $user['login']." ".date('Y-m-d H:i:s')."\n";
#11
Отправлено 02 Июль 2015 - 16:21
#12
Отправлено 23 Июль 2015 - 15:39
1. В таблице клиенты, есть дата добавления клиента "Добавлена", в таблице "Сделки"-начало сделки "Начало". Нужно вычислить сколько дней прошло с даты добавления клиента до начала сделки. Вычисляю так:
$line['ЦР'] = (strtotime($line['Сделка']['Начало']) - strtotime($line['Добавлена']))/86400;
В итоге ерунда считается, например: -16 587
Подскажите что не та делаю? Спасибо.
2. Как я понял из форума, нет возможности некоторые записи Лога вывести в таблицу. Тогда как сделать следующее:
Таблица клиенты, в ней подтаблица "История изменения" в которой должны быть отражены изменения всех полей Таблицы Клиенты. Т.е. кто поменял, когда, и какое изменение произвели.
Подтаблица "История изменения" работает только в режиме просмотре, редактировать и добавлять руками не возможно.
Как реализовать данную возможность?
3. Допустим таблица Сделки-является подтаблицей Таблицы клиенты. Необходимо, чтобы в режиме подтаблице в сделках менеждеры не могли добавлять/редактировать записи, а могли бы только в таблице. Как правильно настроить доступы таблиц/подтаблиц для данного случая?
Сообщение отредактировал bottrop: 23 Июль 2015 - 15:48
#13
Отправлено 23 Июль 2015 - 17:10
2. Почему нельзя вывести? Есть же ссылка на лог в режиме просмотра записи.
3. Для режима подтаблицы нет отдельного варианта доступа. Используется стандартный доступ табличного режима.
#14
Отправлено 23 Июль 2015 - 21:07
CbCoder (23 Июль 2015 - 17:10) писал:
Сделка это "Таблица Сделка" из которой нужно взять дату "Начало" и из неё вычесть дату "Добавлена" Таблицы Клиенты. Это вычисление я делаю в Таблицы Клиенты, поле "ЦР"
#15
Отправлено 24 Июль 2015 - 09:56
#16
Отправлено 24 Июль 2015 - 10:44
#17
Отправлено 24 Июль 2015 - 12:25
Насчет "пример похожего запроса" - все запросы отличаются только таблицей и условием отбора записей. В вашем случае я не знаю, какое именно условие должно быть, т.к. вы ничего об этом не написали (про таблицу Сделка понятно, но какую именно запись из нее взять - нет).
#18
Отправлено 26 Июль 2015 - 14:30
Есть Таблица 1 с полем 1 (число)
Есть Таблица 2, с полями: 1,2,3 (числовые)
Как сумму поле 1,2,3 из таблицы 2 вывести в поле 1, таблицы 1?
Вычисление в поле 1, Таблице 1, типа: $line['Поле 1'] = $line['Поле связи таблицы 2']['поле 1'] + $line['Поле связи таблицы 2']['поле 2'] + $line['Поле связи таблицы 2']['поле 3'];
не работает.
Как применить сюда примеры с data_select или data_table пока не разобрался, слишком много инфы на форуме, на эту тему. Если скините ссылку на конкретный пример, буду признателен.
#19
Отправлено 27 Июль 2015 - 10:21
Если же поля связи не существует, или оно здесь не нужно, в любом случае необходимо сформулировать условие выбора строки, по которому вы обращаетесь к таблице 2, чтобы извлечь оттуда значения полей 1-3. Только после этого имеет смысл составлять запрос. Сама функция запроса элементарна: $data = data_table("Таблица 2", условие выбора строки).
Количество пользователей, читающих эту тему: 4
0 пользователей, 4 гостей, 0 анонимных