Web часть амх

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
13
Реакции
1
Приветствую! Ув. знатоки, кто знает как сделать так, что бы админы у которых истек срок, удалялись из списка автоматически, система фрешьбан

index.png
 
В этой теме было размещено решение! Перейти к решению.
Сообщения
957
Реакции
1,185
Помог
52 раз(а)
написать скрипт очистки БД от неактива и запустить кроном
 
Сообщения
2,751
Реакции
3,017
Помог
61 раз(а)
chipsss, скорее, бесполезное. Удалять из бд их лишь для удобства можно. Никаких приростов производительности не даст.
 
Сообщения
19
Реакции
11
Помог
2 раз(а)
wopox1337, ну почему же, если поток админов большой то в целях удобности автоочистка нормальная, а если нет то бесполезно :)
 
Сообщения
13
Реакции
1
Бесполезно рассуждать попусту, если я обратился, значит мне это нужно.
 
Сообщения
2,491
Реакции
2,794
Помог
61 раз(а)
chipsss, как раз таки наоборот. Форум нацелен на грамотные решение, а не абы как. Вам пытаються обьяснить что удаление админов из базы не даст ровным счетом ничего. Если вам мешает список в веб части, то это легко правится сортировкой и выделением тех что уже истекли. И это как раз таки будет грамотным решением, нежели удаление. Если вы свято верите в то, что 100 записей в базе данных сделают погоду, тогда вы ошибаетесь

П.С.
система фрешьбан
Система банов ничего общего с администраторами не имеет
 
Последнее редактирование:
Сообщения
13
Реакции
1
ну как наоборот, я говорю, что мне надо чтобы удаляло, а вы снова за своё, ладно тему можно закрывать, я так понимаю ни чего кроме обсуждений тут не будет. Спасибо Sonyx за подсказку, буду искать кто реализует, а не просто поговорит.
P.s. Прошу прощения. если что не так.
 
Сообщения
2,491
Реакции
2,794
Помог
61 раз(а)
SQL:
DELETE FROM amx_admins_servers WHERE admin_id IN (SELECT id FROM amx_amxadmins WHERE expired != 0 AND expired < CURRENT_TIMESTAMP());
DELETE FROM amx_amxadmins WHERE expired != 0 AND expired < CURRENT_TIMESTAMP()
 
Сообщения
957
Реакции
1,185
Помог
52 раз(а)
Вариант 2

SQL:
CREATE TRIGGER auto_del BEFORE DELETE ON amx_amxadmins
FOR EACH ROW BEGIN
DELETE FROM amx_admins_servers WHERE admin_id = OLD.id;
END;
потом можно будет удалять 1 запросом:
SQL:
DELETE FROM amx_amxadmins WHERE expired != 0 AND expired < CURRENT_TIMESTAMP()
 
Сообщения
2,143
Реакции
1,225
Помог
44 раз(а)
fantom, вот и помогай после этого людям :D
 
Сообщения
2,491
Реакции
2,794
Помог
61 раз(а)
SQL:
DELETE t1, t2 FROM amx_amxadmins t1 LEFT JOIN amx_admins_servers t2 ON t1.id = t2.admin_id WHERE t1.expired != 0 AND t1.expired < CURRENT_TIMESTAMP()
 
Сообщения
13
Реакции
1
Спасибо бльшое всем, сделал! Тему можно закрыть.
 
Статус
В этой теме нельзя размещать новые ответы.

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

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