--тут прописываем опсосов
INSERT INTO `oper` VALUES ('1', 'Megafon');
INSERT INTO `oper` VALUES ('2', 'Beeline');
INSERT INTO `oper` VALUES ('3', 'Utel');
INSERT INTO `oper` VALUES ('4', 'BWC');
INSERT INTO `oper` VALUES ('5', 'MTS');
INSERT INTO `oper` VALUES ('6', 'TELE2');
--итд
-- ----------------------------
-- Table structure for ip
-- Таблица ip адресов
-- ----------------------------
CREATE TABLE `ip` (
`id` int(10) unsigned NOT NULL auto_increment,
`id_oper` tinyint(4) unsigned NOT NULL,
`astart` int(11) unsigned NOT NULL,
`aend` int(11) unsigned NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `astart_aend` (`astart`,`aend`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--диаппазоны (для примера вбито 7 диаппазонов мегафона)
INSERT INTO `ip` VALUES ('', '1', '1402275840', '1402276863');
INSERT INTO `ip` VALUES ('', '1', '1402273792', '1402275839');
INSERT INTO `ip` VALUES ('', '1', '1402277888', '1402278911');
INSERT INTO `ip` VALUES ('', '1', '1402279936', '1402280959');
INSERT INTO `ip` VALUES ('', '1', '1402281984', '1402283007');
INSERT INTO `ip` VALUES ('', '1', '1402284032', '1402285055');
INSERT INTO `ip` VALUES ('', '1', '1402286080', '1402287103');
--итд
*/
//теперь представим, что зашел человек с ip=83.149.16.32
//определим его оператора
$q=mysql_query("SELECT o.id_oper, o.oper FROM ip i
LEFT JOIN oper o ON i.id_oper=o.id_oper
WHERE INET_ATON('83.149.16.32') BETWEEN i.astart AND i.aend LIMIT 1
");
$q=mysql_fetch_row($q);