Maison > Article > développement back-end > 根据新浪IP数据库,判断城市
PHP根据新浪IP数据库,判断出访客城市,匹配数据库字段中设置的城市
比如判断出访客城市为北京市,匹配数据库 如果当前访客城市=ID为1 的city字段 输出 结果 a 如果不等于 输出结果ab
数据库如下图
----------------------------------------------------
id city info
1 北京市 上海市 深圳等 1 线城市
2 南京,武汉等 2 线城市
----------------------------------------------------------
需要怎么样 写,还有我这样设置表1线城市 2线城市分类合理吗。
我是想屏蔽指定区域,后台设置1线城市或者2线城市,根据用户城市匹配数据库,输出不一样的结果。
求具体的PHP代码 感谢。。。。
这样?
$query = mysql_query("select id from table where city like '%北京市%'") or die(mysql_error());$thread = mysql_fetch_assoc($query);$id = isset($thread['id'])? $thread['id'] : 0;if($id>0){ // 表示找到匹配 echo 'a';}else{ echo 'ab';}
这样?
$query = mysql_query("select id from table where city like '%北京市%'") or die(mysql_error());$thread = mysql_fetch_assoc($query);$id = isset($thread['id'])? $thread['id'] : 0;if($id>0){ // 表示找到匹配 echo 'a';}else{ echo 'ab';}
那个open 字段是做什么的。
表a
------------------------
id name open
1 张三 0
2 李四 1
-------------- -----
表city设计如下
id city info group
1 北京市 1 线城市 1
2 上海市 1 线城市 1
3 深圳 1 线城市 1
4 南京 2 线城市 2
5 武汉 2 线城市 2
----------------------------------------------------------
ip城市屏蔽表
id, uid, city_id city_group
1 1 0 1
2 2 0 1
3 1 0 2
4 1 12 0
uid是表a的id, city_id是city表id,city_group表示几线城
ip城市屏蔽表记录的意思就是,张三屏蔽一线和二线城市和city_id=12的城市,李四屏蔽一线城市。
查询张三屏蔽的城市。
select * from ip where uid=1; 找出group和city_id集合
然后select * from city where group not in($group) and city_id not in($city_id);
第一点..你要有每个IP对应的省份城市的数据...然后根据获取到的IP找的对应的城市...进行转跳对应城市的URL...不过一般都用脚本去检测...不会在程序里面检测..