ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Подскажите как в Mysql. Сделать поиск по диапозону.
  #1  
Старый 26.11.2008, 19:07
Аватар для троль909
троль909
Новичок
Регистрация: 12.09.2008
Сообщений: 25
Провел на форуме:
193489

Репутация: 63
Отправить сообщение для троль909 с помощью ICQ
По умолчанию Подскажите как в Mysql. Сделать поиск по диапозону.

Подскажите как в Mysql. Сделать поиск по диапозону.

У меня есть база Ip адресов. по диапозонам.
записаны они в 3 столбика. где 1 столбик начало диапозона 2 конец диапозона.
но я не могу понять как сделать запрос который делал поиск примерно по такой схеме 1 столбик<значение<2 столбик.
 
Ответить с цитированием

  #2  
Старый 26.11.2008, 19:46
Аватар для FeoЩту
FeoЩту
Познающий
Регистрация: 13.11.2008
Сообщений: 31
Провел на форуме:
70426

Репутация: 14
По умолчанию

$temp = '255.255.';
...
$sql = 'SELECT * FROM ip_table WHERE ip LIKE "'.$temp.'%"
...

Выдаст тебе все адреса, начинающиеся на 255.255.
 
Ответить с цитированием

  #3  
Старый 26.11.2008, 20:01
Аватар для kolpeex
kolpeex
Новичок
Регистрация: 17.02.2008
Сообщений: 28
Провел на форуме:
68228

Репутация: 39
По умолчанию

Все просто. Поля диапозонов должны быть числами, т.е. ip в формате longip. Это IP записанный в бинарном формате. Т.е. четыре байта abcd. В общем, по лонгайпи погугли.
Далее просто конвертишь адрес в целое и ищешь по БД типа:
$ip = 0x79000001;
select * from `ips` where `ip_from` <= $ip and `ip_to` >=$ip

Может не так объяснил, но, думаю, смысл ясен.
 
Ответить с цитированием

  #4  
Старый 27.11.2008, 00:11
Аватар для j0ker13
j0ker13
Участник форума
Регистрация: 28.07.2008
Сообщений: 199
Провел на форуме:
861008

Репутация: 58
По умолчанию

если это для определения страны то легче выдрать все это из админки напрмер связки armitage ))
 
Ответить с цитированием

  #5  
Старый 27.11.2008, 01:57
Аватар для VDShark
VDShark
Участник форума
Регистрация: 01.02.2007
Сообщений: 286
Провел на форуме:
804931

Репутация: 526
По умолчанию

.... where val >= v1 AND val <=v2
либо
.... where val between v1 AND v2
 
Ответить с цитированием

  #6  
Старый 27.11.2008, 09:18
Аватар для krypt3r
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

для диапазона IP-адресов, возможно, будет лучше применять INET_ATON для границ диапазона для преобразования ипов в целочисленное представление
 
Ответить с цитированием

  #7  
Старый 27.11.2008, 11:01
Аватар для VDShark
VDShark
Участник форума
Регистрация: 01.02.2007
Сообщений: 286
Провел на форуме:
804931

Репутация: 526
По умолчанию

krypt3r как я понял - там они и так уже представлены в таком виде
 
Ответить с цитированием

  #8  
Старый 27.11.2008, 14:52
Аватар для krypt3r
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

Не, это я писал, если вдруг ипы в поле типа varchar хранятся)
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ