IP адрес в БД

Технические вопросы по UTM 5.0
SOLDIER
Сообщения: 649
Зарегистрирован: Чт мар 16, 2006 18:07

Сообщение SOLDIER »

Слушатель писал(а):а не подскажите, как получить список IP адресов пользователей, которые на данный момент могут работать в интернете.
Вот список логинов, которым можно выходить в Интернет:
SELECT users.login, accounts.balance FROM users, accounts WHERE accounts.id = users.basic_account AND accounts.is_deleted !=1 AND accounts.int_status =0
Продолжая слепливать предыдущие запросы - объединяете по полю лицевого счета (id в accounts, откуда и берётся статус Интернета - int_status).

lancelot
Сообщения: 248
Зарегистрирован: Вс янв 23, 2005 16:28

Сообщение lancelot »

а вот запрос который выдает лицевой счет, логин и IP в зависимости от используемого тарифа (параметер atl.tariff_id)

SELECT sl.account_id, u.login, INET_NTOA(ip & 4294967295) as ip, i.mask FROM ip_groups i, iptraffic_service_links isl, service_links sl, users u, account_tariff_link atl
WHERE i.is_deleted='0'
AND isl.is_deleted='0'
AND sl.is_deleted='0'
AND atl.is_deleted=0
AND i.ip_group_id=isl.ip_group_id
AND isl.id=sl.id
AND sl.user_id=u.id
AND sl.account_id=atl.account_id
AND atl.tariff_id=127

REPLAY_5
Сообщения: 8
Зарегистрирован: Вс апр 03, 2005 15:27

Сообщение REPLAY_5 »

может кто зает как бит-маску получить?
т.е. из mask преобразовать в /32 /24 итп?

а то получается только через inet_ntoa(mask & 0xffffffff ) AS mask в обычном виде :)

Ответить