微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 有效的ip->位置查询

我有两个表:一个是来自ipinfodb.com的ip_group_city,其中包含用于确定IP位置的ip_start数字,另一个是包含有关’ip’列的网站访问者信息的“访问”.

我需要通过检查“visits”表中每个IP的region_code来选择前10个region_code(来自ip_group_city).

现在我将所有IP从“访问”加载到一个数组中,并使用该IP信息通过以下方式查询ip_group_city:

SELECT region_code
FROM ip_group_city
WHERE ip_start <= INET_ATON(IP_FROM_ARR)
ORDER BY ip_start DESC LIMIT 1

我无法创建某种嵌套查询来为我完成工作,因为现在事情有点慢:) – 我的笔记本电脑xampp需要长达30秒(AMD Turion x2 2GHz,运行Windows 7旗舰64位版本)

这是包含IP地址(访问)的表

CREATE TABLE IF NOT EXISTS `visits` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,`clientid` mediumint(8) unsigned NOT NULL,`ip` varchar(15) NOT NULL,`url` varchar(512) NOT NULL,`client_version` varchar(64) NOT NULL,PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=49272 ;

谢谢

最佳答案
既然你说其他解决方案受到欢迎……

您可能想要查看MaxMind.他们通过IP进行了良好的国家和城市查询.您可以安装Apache或PHP插件以加快速度 – 甚至不必自己处理数据库.

原文地址:https://www.jb51.cc/mysql/432970.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐