Здравствуйте!
Хотел сделать автоматическое удаление админов, чьи дни привилегий закончились.
Увидел колонку days, где указывались дни и сделал такой запрос:
Однако, это было неверное решение.
Есть колонка created - дата создания и expired - дата окончания в формате unix time.
Дальнейшие действия были такими:
Не знаю, верно ли или нет, но от даты окончания отнимал дату создания - получал число 2592000 - это 30 суток, если перевести.
Однако, взял другого пользователя, чьи дни еще не были закончены, в отличии от предыдущего и число оказалось таким же, как и предыдущее.
Как отловить момент? Подумал, что нужно получить как-то текущее значение unix time, потом от expired отнимать текущее значение unix time и проверять = 0
Как получить текущий unix time? Как правильно выполнить мою задачу?
Полный код
Хотел сделать автоматическое удаление админов, чьи дни привилегий закончились.
Увидел колонку days, где указывались дни и сделал такой запрос:
mysql_query("DELETE FROM amx_amxadmins WHERE days = -1");
Однако, это было неверное решение.
Есть колонка created - дата создания и expired - дата окончания в формате unix time.
Дальнейшие действия были такими:
mysql_query("DELETE FROM amx_amxadmins WHERE (expired - created = 2592000)");
Не знаю, верно ли или нет, но от даты окончания отнимал дату создания - получал число 2592000 - это 30 суток, если перевести.
Однако, взял другого пользователя, чьи дни еще не были закончены, в отличии от предыдущего и число оказалось таким же, как и предыдущее.
Как отловить момент? Подумал, что нужно получить как-то текущее значение unix time, потом от expired отнимать текущее значение unix time и проверять = 0
mysql_query("DELETE FROM amx_amxadmins WHERE (expired - текущее значение unix time = 0)");
Как получить текущий unix time? Как правильно выполнить мою задачу?
Полный код
Код:
<?php
$host='host'; // host
$database='db'; // name base
$user='user'; // name
$pswd='pass'; // parol
$dbh = mysql_connect($host, $user, $pswd) or die("error MySQL.");
mysql_select_db($database) or die("error base");
$query = "SELECT * FROM `db`";
$res = mysql_query($query);
//mysql_query("DELETE FROM amx_amxadmins WHERE days = -1");
mysql_query("DELETE FROM amx_amxadmins WHERE (expired - created = 2592000)");
?>
В этой теме было размещено решение! Перейти к решению.
Последнее редактирование: