Вход Регистрация
* -=(C)DRU987=- (Dev)

Определим мобильного оператора

  1. CREATE TABLE `oper` (
  2. `id_oper` tinyint(4) unsigned NOT NULL auto_increment,
  3. `oper` varchar(255) NOT NULL,
  4. PRIMARY KEY (`id_oper`)
  5. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
  6. INSERT INTO `oper` VALUES ('1', 'Megafon');
  7. INSERT INTO `oper` VALUES ('2', 'Beeline');
  8. INSERT INTO `oper` VALUES ('3', 'Utel');
  9. INSERT INTO `oper` VALUES ('4', 'BWC');
  10. INSERT INTO `oper` VALUES ('5', 'MTS');
  11. INSERT INTO `oper` VALUES ('6', 'TELE2');
  12.  
  13. CREATE TABLE `ip` (
  14. `id` int(10) unsigned NOT NULL auto_increment,
  15. `id_oper` tinyint(4) unsigned NOT NULL,
  16. `astart` int(11) unsigned NOT NULL,
  17. `aend` int(11) unsigned NOT NULL,
  18. PRIMARY KEY (`id`),
  19. UNIQUE KEY `astart_aend` (`astart`,`aend`)
  20. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
  21.  
  22. INSERT INTO `ip` VALUES ('', '1', '1402275840', '1402276863');
  23. INSERT INTO `ip` VALUES ('', '1', '1402273792', '1402275839');
  24. INSERT INTO `ip` VALUES ('', '1', '1402277888', '1402278911');
  25. INSERT INTO `ip` VALUES ('', '1', '1402279936', '1402280959');
  26. INSERT INTO `ip` VALUES ('', '1', '1402281984', '1402283007');
  27. INSERT INTO `ip` VALUES ('', '1', '1402284032', '1402285055');
  28. INSERT INTO `ip` VALUES ('', '1', '1402286080', '1402287103');
  29.  
  30. ##теперь представим, что зашел человек с ip=83.149.16.32
  31. ##определим его оператора
  32. $q=mysql_query("SELECT o.id_oper, o.oper FROM ip i
  33. LEFT JOIN oper o ON i.id_oper=o.id_oper
  34. WHERE INET_ATON('83.149.16.32') BETWEEN i.astart AND i.aend LIMIT 1
  35. ");
  36.  
  37. ##посмотрим что получилось
  38. print_r($q);
» Описание: Сначала таблицы потом сам код)) )
» Время добавления: 27 Апр 2014 в 16:04
» Посмотров: 1510
» textarea
» Рейтинг: [+0 | -0]
Комментарии [0]
Онлайн: 2
Реклама