Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Статистика изменения данных 
:(
    Опции темы
Aliance
Дата 11.11.2008, 00:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 3
Всего: 137



У меня есть таблица, в которое есть числовое поле (int unsigned). Кроном выполняется скрипт и в зависимости от условия, оно может быть либо изменено на него же (т.е. остается прежним, грубо говоря $i = $i;) с вероятностью 95%, либо увеличено (возьмем абстрактнее - изменено) с вероятностью 5%.
Т.к. изменения происходят относительно редко (раз в неделю), то я на сайте хочу вывести некую статистику этих измененний, что-то вроде такого:
У пользователя "xxx" числовое поле стало такое-то

Как лучше сделать это?
Как вариант вижу так: в скрипте, который выполняется по крону, при изменении поля сделать проверку примерно такую:
Код

$old_value = $поле;
обновляем_поле();
if ( $old_value != $поле )
{
   // поле изменено -> записываем нужные нам данные в другую таблицу
}


Но тут возникает вопрос: мне нужно показывать эти данные определенный срок, иначе будет происходить вывод старой, хоть еще и актуальной, информации. Например:
1.01 поле = 10
3.01 поле изменилось на 11, выводим в статистику, что 3 января поле стало равнться одиннадцати.
до 28.03 никаких изменений не происходит с полем и соответственно три месяца висит инфа об изменении 3 января, что не есть гуд. Хочу сделать примерно 2 дня...

Что посоветуете?
PM MAIL WWW ICQ Skype   Вверх
solenko
Дата 11.11.2008, 08:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 7
Всего: 67



Эм... Я как-то не понимаю проблеммы. Что мешает хранить timestamp обновления записи?


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
skyboy
Дата 11.11.2008, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 14
Всего: 260



Цитата(Aliance @  10.11.2008,  23:41 Найти цитируемый пост)
Как вариант вижу так: в скрипте, который выполняется по крону, при изменении поля сделать проверку примерно такую:

если надо фиксировать изменения при любом изменении данных, а не только скриптом, запущенным через крон, то можно назначить триггеры ту же логику сравнения старого и нового значений с последующей записью в таблицу.
Цитата(Aliance @  10.11.2008,  23:41 Найти цитируемый пост)
Хочу сделать примерно 2 дня...

при выводе из тех самых "других таблиц", в который ты записывал изменения, ставишь условие, что не далее, как за N дней выводить.
PM MAIL   Вверх
Aliance
Дата 11.11.2008, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 3
Всего: 137



Цитата(solenko @  11.11.2008,  09:40 Найти цитируемый пост)
Эм... Я как-то не понимаю проблеммы. Что мешает хранить timestamp обновления записи? 

Мешает то, что в базе будут храниться записи, которые уже устарелые -> лишние использование ресурсов. А удалять устарелые данные можно либо вручную, либо тем же кроном. Ни то, ни другое не хочется.
Поэтому и спрашиваю более практичного решения.

Цитата(skyboy @  11.11.2008,  11:31 Найти цитируемый пост)
то можно назначить триггеры ту же логику сравнения старого и нового значений с последующей записью в таблицу.

тригерры БД? Я использую MySQL.
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0717 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.