php 依据数据库ip段显示ip归属地

Amy安 2015-10-20 04:07:41
我现在有一个数据库ipatt 三个字段 ip_start(起始IP) ip_end(结束IP) ip_att(IP归属地)
现在有$user_ip
我要实现ip在某个ip_start ip_end区间时 显示ip_att

假如表中包含这两条
0.0.0.0 0.255.255.255 A
12.0.64.0 12.194.255.255 B
我希望实现
0.11.12.12 显示A
12.193.65.200 显示B

求教如何比较IP
我现在要写个 function get_ip_att($user_ip )
...全文
147 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Amy安 2015-10-20
  • 打赏
  • 举报
回复
原来还有这样的函数~
xuzuning 2015-10-20
  • 打赏
  • 举报
回复
MySQL 提供有 INET_ATON 函数,用于将字符串型的 ip 转换为无符号数 php 也提供有 ip2long 函数完成此工作 $ip = ip2long('12.193.65.200'); $sql = "select * from ipatt where $ip between inet_aton(ip_start) and inet_aton(ip_end)";
Amy安 2015-10-20
  • 打赏
  • 举报
回复

function get_ip_att($create_ip){
	$ip_start = mysql_query("select ip_start from ipatt");
	。。。
	$userips = explode(".", $create_ip);//把获得的ip切开成数组 

	if(($userips[0]>=$ip_start[0] && $userips[0]<=$ip_end[0])&&
	   ($userips[1]>=$ip_start[1] && $userips[1]<=$ip_end[1])&&
	   ($userips[2]>=$ip_start[2] && $userips[2]<=$ip_end[2])&&
	   ($userips[3]>=$ip_start[3] && $userips[3]<=$ip_end[3]))
	{
		
	}
}
不知道怎么写了。。

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧