12 ноября 2013
7662
удаляем старые записи, php, mysql

Удаляем старые записи PHP и MySQL

PHP

В данном уроке я расскажу вам, как можно при помощи запроса, удалять старые записи из базы данных MySQL. В этом нет ничего сложного. Естественно в записи должна храниться дата ее публикации. Сам запрос к базе данных будет выглядеть следующим образом:

 

DELETE FROM table_name WHERE published_date < ‘0000-00-00’;

 

где ‘0000-00-00’ дата, до которой будут удалены все записи.

 

Чтобы вычислить дату, до которой все записи будут считаться «старыми» мы используем две функции PHP работающие  с датой/временем:

 

  • time –  Возвращает количество секунд, прошедших с начала Эпохи Unix (The Unix Epoch, 1 января 1970 00:00:00 GMT) до текущего времени.
  • date – форматирует вывод системной даты/времени.

 

Функция 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.” ’ ”;

 

После выполнения полученного запроса из базы данных будут удалены все записи, опубликованные более чем тридцатью днями ранее.

 

На этом наш урок окончен. Благодарю за внимание!