временные коды на php

Как можно сделать возможность добавлять записи в таблицу mysql а через какой-то промежуток времени(например 1 день, время можно задать самому) автоматически удалить его из таблицы? используя php


Ответы (2 шт):

Автор решения: Lyns

Если именно на PHP.

Предложил бы добавить колонку время жизни записи.

В переменную время создания записывать текущий time().

$current_time = time();

Затем записывать переменную с указанием жизни сессии.

$alive_time = $current_time + 60*60*24 //добавляем сутки (time() в секундах)

Записываем переменную в базу данных при создании записи.

Затем пишем проверку. В переменную $alive_time достаём переменную из БД нужной записи и проверяем.

if($current_time > $alive_time) {
//удаляем запись
}

Проблема в том, что код будет удалять записи, только когда переходят на страницу, где он расположен, поэтому лучше оформить всё через cron. Ссылка: Информация

→ Ссылка
Автор решения: Ivan Dudarev

Вам в базе нужно хранить время создания записи. При выборке добавляете условие время создания + время жизни >= текущему времени (чтобы записи с истекшим временем не попадали в выборку), плюс по расписанию запускайте скрипт, который будет удалять протухшие записи.

Если время жизни для записей в одной таблице может быть разным, то добавьте колонку с временем протухания, записывайте туда нужное время при добавлении и при выборке/удалении ориентируйтесь на него.

→ Ссылка