Удалить сообщение через определенный промежуток времени
Я создал функцию, которая получает время публикации статьи. Эта же функция проверяет, является ли статья недельной давностью, и отключает ее.
Я не знаю, что здесь делать, если мне нужно сделать функцию отзывчивой при вызове. Я подумал об использовании JavaScript и установке времени ожидания для функции. это было бы слишком много петель.
Это "если", которое я использовал для проверки даты. Кто-нибудь с лучшей идеей, пожалуйста, помогите.
if((time() - $publish_time) > (7*24*60*60)){
// if the current timestamp - the time the article was published > 1 week.
//Execute the query to deactivate the article
}
Этот фрагмент находится внутри функции, которую я должен вызвать.
2 ответа
Представьте, что [таблица] имеет [столбец] с датой вставленной записи:
SET GLOBAL event_scheduler = ON;
CREATE
EVENT 'archive_posts'
ON SCHEDULE EVERY 1 WEEK
DO
DELETE FROM [table] WHERE [column] < DATE_SUB(NOW(), INTERVAL 1 WEEK);
Вместо того, чтобы иметь это на своем сайте, вы должны закончить свои статьи с помощью cronjob, согласно этому вопросу при использовании MySQL (*nix-like)
В Windows вы можете использовать mmc.exe
и добавить задачу для выполнения скрипта через планировщик задач)