Отправить заявку

Дамп MySQL базы IP адресов с привязкой к городам (Украина и Россия)

Существует 101 способ определения с какого города на сайт пришел посетитель. Есть разнообразные компилированные базы данных с собственным форматом и API и т.д. Мы хотим поделится нашей базой и примером запроса для выборки.

Для начала создадим 2 таблицы:

CREATE TABLE `artkiev_ip` (
  `idd` int(11) unsigned default NULL,
  `ip1` bigint(20) unsigned default NULL,
  `ip2` bigint(20) unsigned default NULL,
  `la` char(2) default NULL,
  UNIQUE KEY `ip` (`ip2`,`ip1`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE `artkiev_geo` (
  `id` int(11) unsigned NOT NULL default '0',
  `city` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3017 DEFAULT CHARSET=utf8;

Затем импортируем записи (Дамп mysql таблиц городов Украины и России)

Пример mySQL запроса для выборки города по IP:

$ip = sprintf('%u', ip2long($_SERVER['REMOTE_ADDR'));
$result=mysql_query("SELECT `la`, (SELECT `city` FROM `artkiev_geo` WHERE `id`=`idd` LIMIT 1) as `ci` FROM `artkiev_ip` WHERE $ip BETWEEN `ip1` AND `ip2`");
 $row=mysql_fetch_row($result);

Вот так все просто. На выходе мы получаем: страну, город и область.

Другие публикации