amxbans и unix time

Сообщения
12
Реакции
1
Здравствуйте!
Хотел сделать автоматическое удаление админов, чьи дни привилегий закончились.
Увидел колонку 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)");
?>
 
В этой теме было размещено решение! Перейти к решению.
Последнее редактирование:
Сообщения
0
Реакции
0
Сравнивайте expired с временем на данный момент.
 
Сообщения
957
Реакции
1,185
Помог
52 раз(а)
unnamed, http://www.mysql.ru/docs/man/Reference.html изучите для начала.
Вторым этапом рекомендую потренировать логическое мышление. Перестаньте делать а потом думать, в программировании надо наоборот - если в голове держать всю идею трудно (а по началу 100% так и есть) - рисуйте блок-схемы задумки, продумывайте шаги, и только когда схема будет выглядеть рабочей, приступайте к коду.

Если в голове не будет на момент написания кода цельного видения работы - толкового у вас ничего не выйдет 100%
 
Сообщения
2,491
Реакции
2,794
Помог
61 раз(а)
Стоило поискать по форуму
https://dev-cs.ru/threads/2042/#post-23194
https://dev-cs.ru/threads/1753/#post-19485
https://dev-cs.ru/threads/1753/#post-19514

P.S. перед любими манипуляциями желательно делать бэкапы

P.S.S. в который раз повтрюсь. Зачем удалять админов? Вы хотите добится большей производительности? Я вас уверяю что это мало что даст. Конешно желательно раставить индексы в табличках
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу