В данном уроке я расскажу вам, как можно при помощи запроса, удалять старые записи из базы данных MySQL. В этом нет ничего сложного. Естественно в записи должна храниться дата ее публикации. Сам запрос к базе данных будет выглядеть следующим образом:
DELETE FROM table_name WHERE published_date < ‘0000-00-00’;
где ‘0000-00-00’ дата, до которой будут удалены все записи.
Чтобы вычислить дату, до которой все записи будут считаться «старыми» мы используем две функции PHP работающие с датой/временем:
Функция date одним из параметров принимает количество секунд прошедших с 1 января 1970 года и формирует дату по определенному шаблону.
Исходя из этого, для получения необходимой нам даты используем следующий код:
//количество прошедших дней, за которые не удалять записи $days = 30; $seconds = time() – $days * 24 * 60 * 60; $date = date(‘Y-m-d’, $seconds);
Полученную дату добавляем в запрос:
$query = “DELETE FROM table_name WHERE published_date < ‘”.$date.” ’ ”;
После выполнения полученного запроса из базы данных будут удалены все записи, опубликованные более чем тридцатью днями ранее.
На этом наш урок окончен. Благодарю за внимание!