Страница 1 из 1

поиск и удаление неактуальных клиентов

Добавлено: 07 фев 2014, 03:01
Skydreem
Дмитрий, несмотря на хорошую стабильность работы программы, хотелось бы отметить хорошую текучку клиентов, они приходят и уходят, база растет как шарик, а метода чистки никакого нет. Есть ли возможность сделать сортировку по последней авторизации, или наименьшему потреблению трафика? Лучше всего первый вариант, но можно второй, тк проще всего очистить базу от всего потребленного трафика и через месяц посмотреть у кого скачано "0". Есть ли возможность чтото придумать?

Re: поиск и удаление неактуальных клиентов

Добавлено: 07 фев 2014, 10:17
Dmitry
идей по реализации - пока-что никаких.

как вариант - создавая клиента, сразу же назначайте ему дату окончания обслуживания, например, кнопкой "текущий месяц". По окончании месяца те, кто продолжает пользоваться, однозначно "проявятся" с просьбой продлить обслуживание. У тех же, кто "ушел", дата останентся той же самой (старой). А потом - банальный фильтр (сортировка) по дате окончания обслуживания...

Re: поиск и удаление неактуальных клиентов

Добавлено: 07 фев 2014, 10:54
Dmitry
попробуйте в phpmyadmin такой запрос:

Код: Выделить всё

SELECT `username` , datediff( now( ) , max( `acctstarttime` ) ) AS `last_date` FROM `radacct` GROUP BY `username` ORDER BY `last_date` DESC
должен выдать логины и число дней, прошедших с момента последней авторизации, в порядке убывания

Re: поиск и удаление неактуальных клиентов

Добавлено: 18 фев 2014, 06:06
Skydreem
Чтото не получилось, выскакивает значок > и всё.. Буду чистить базу авторизаций и смотреть кто не пользуется :)

Re: поиск и удаление неактуальных клиентов

Добавлено: 18 фев 2014, 10:02
Dmitry
Skydreem писал(а): выскакивает значок > и всё..
уж и не знаю, что сказать...
когда все получается

Код: Выделить всё

mysql> use easyhotspot;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> SELECT `username` , datediff( now( ) , max( `acctstarttime` ) ) AS `last_date` FROM `radacct` GROUP BY `username` ORDER BY `last_date` DESC;
+-------------------+-----------+
| username          | last_date |
+-------------------+-----------+
| Z7RGVnCS          |       310 |
| kolja             |       310 |
| dawnic6           |       270 |
| cuknab6           |       270 |
| ticcic12          |       270 |
| ciwdiz12          |       270 |
| lupvoz10          |       270 |
| wekkuv12          |       270 |
| daddob8           |       229 |
| talnid12          |       208 |
| lebxux15          |       208 |
| rayrev6           |       208 |
| 2040              |       202 |
| testuser          |       202 |
| 30-85-A9-37-66-4A |       196 |
| buwpin11          |       193 |
| dmitry            |       192 |
| 555               |        22 |
| 841203152         |        22 |
| 451201141         |        22 |
| test              |         6 |
| 11                |         2 |
| extrimov          |         1 |
+-------------------+-----------+
23 rows in set (0.00 sec)
цифра во второй колонке - число дней, прошедших с момента последней авторизации