Как сделать такой запрос?

День добрый.
В БД, которая осталась от предыдущего работника и с которой нужно работать, IP пользователей записаны вот такими образами - 10.182.12[0,1].[0-9]{1,3}~10.182.121.[0-9]{1,3} или так 10.182.120.67~10.182.120.55.
Ip юзера через php я могу найти так -
$ip = filter_input(INPUT_SERVER, 'REMOTE_ADDR', FILTER_SANITIZE_STRING);

А как потом полученный ip-адрес использовать в запросе, чтобы узнать имя и подразделение юзера?
Заранее спасибо.
  • Вопрос задан
  • 375 просмотров
Пригласить эксперта
Ответы на вопрос 4
bordakovskiy
@bordakovskiy
Select * from TABLE_INFO_USER Where IP_USER = $ip

или там запрос из нескольких таблиц?
Ответ написан
FanatPHP
@FanatPHP
Чебуратор тега РНР
1. Разобраться, что означают эти каракули.
2. Пересохранить данные в новую таблицу в формате int
3. Спрашивать, как сделать запрос.
Ответ написан
Комментировать
@Ramallah
Можно регуляркой.
Ответ написан
puchkovk
@puchkovk
Усложнять — просто. Упрощать — сложно.
Тут судя по всему, диапазоны IP адресов, нужно это как-то пересохранить, как сказал FanatPHP в более машиночитаемый вид, возможно, в 2 колонки - start_ip и end_ip и тогда уже строить запрос.

Можно, теоретически, и регулярку придумать, но мне кажется, она будет какая-то лютая совсем, я явно не быстрая.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы