Перейти к содержимому


Автоматическая отправка записей в архив


Сообщений в теме: 5

#1 GoGPS

    Активный участник

  • Пользователи
  • PipPipPip
  • 159 сообщений
  • Пол:Мужчина

Отправлено 26 Июнь 2014 - 11:20

Подскажите плс как сделать вычисление, которое позволит например записи старше одной недели, автоматически (если такое возможно) отправлять в архив по крону? А так же как правильно настроить крон для этого вычисления?

Заранее спасибо!

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 26 Июнь 2014 - 12:16

Делаете запрос к нужной таблице на обновление поля Статус записи значением 1, с отбором записей по полю Время добавления > сегодня - 7 дней.

Задание крона настраиваете на запуск раз в день, там в списке есть готовые варианты.

#3 GoGPS

    Активный участник

  • Пользователи
  • PipPipPip
  • 159 сообщений
  • Пол:Мужчина

Отправлено 26 Июнь 2014 - 12:39

Спасибо за ответ, но есть ли возможность на примере показать: Делаете запрос к нужной таблице на обновление поля Статус записи значением 1, с отбором записей по полю Время добавления > сегодня - 7 дней.

#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 26 Июнь 2014 - 12:52

Примеры есть в документации и на форуме. Рекомендуется для обновления записей использовать функцию data_update или update_query, соответственно ищите примеры с ними. Прямой sql-запрос UPDATE тоже допустим, но не рекомендуется.

#5 ManFree

    Активный участник

  • Пользователи
  • PipPipPip
  • 107 сообщений

Отправлено 06 Декабрь 2014 - 22:32

$datt = date("Y-m-d G:i:s", (time()-3600*24*7));

$sql = "UPDATE ".DATA_TABLE."450 SET status='1' WHERE `add_time`<'".$datt."'";
mysql_query($sql);

2 часа курочил, пытался сделать внутренними функциями, ничего не вышло.
Подскажите гуру как тоже самое записать Updte query или data update

#6 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 07 Декабрь 2014 - 15:47

$datt = date("Y-m-d H:i:s", time()-3600*24*7);

data_update(450, array('status'=>1), "`add_time`<'".$datt."'");






Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных