Подскажите как в Mysql. Сделать поиск по диапозону. У меня есть база Ip адресов. по диапозонам. записаны они в 3 столбика. где 1 столбик начало диапозона 2 конец диапозона. но я не могу понять как сделать запрос который делал поиск примерно по такой схеме 1 столбик<значение<2 столбик.
$temp = '255.255.'; ... $sql = 'SELECT * FROM ip_table WHERE ip LIKE "'.$temp.'%" ... Выдаст тебе все адреса, начинающиеся на 255.255.
Все просто. Поля диапозонов должны быть числами, т.е. ip в формате longip. Это IP записанный в бинарном формате. Т.е. четыре байта abcd. В общем, по лонгайпи погугли. Далее просто конвертишь адрес в целое и ищешь по БД типа: $ip = 0x79000001; select * from `ips` where `ip_from` <= $ip and `ip_to` >=$ip Может не так объяснил, но, думаю, смысл ясен.
для диапазона IP-адресов, возможно, будет лучше применять INET_ATON для границ диапазона для преобразования ипов в целочисленное представление