временные коды на php
Как можно сделать возможность добавлять записи в таблицу mysql а через какой-то промежуток времени(например 1 день, время можно задать самому) автоматически удалить его из таблицы? используя php
Ответы (2 шт):
Если именно на PHP.
Предложил бы добавить колонку время жизни записи.
В переменную время создания записывать текущий time().
$current_time = time();
Затем записывать переменную с указанием жизни сессии.
$alive_time = $current_time + 60*60*24 //добавляем сутки (time() в секундах)
Записываем переменную в базу данных при создании записи.
Затем пишем проверку. В переменную $alive_time достаём переменную из БД нужной записи и проверяем.
if($current_time > $alive_time) {
//удаляем запись
}
Проблема в том, что код будет удалять записи, только когда переходят на страницу, где он расположен, поэтому лучше оформить всё через cron. Ссылка: Информация
Вам в базе нужно хранить время создания записи. При выборке добавляете условие время создания + время жизни >= текущему времени (чтобы записи с истекшим временем не попадали в выборку), плюс по расписанию запускайте скрипт, который будет удалять протухшие записи.
Если время жизни для записей в одной таблице может быть разным, то добавьте колонку с временем протухания, записывайте туда нужное время при добавлении и при выборке/удалении ориентируйтесь на него.