你自己收集一些IP段啊,我觉得你扩充你这个数组应该能解决问题
我们一直强调成都网站设计、成都网站制作对于企业的重要性,如果您也觉得重要,那么就需要我们慎重对待,选择一个安全靠谱的网站建设公司,企业网站我们建议是要么不做,要么就做好,让网站能真正成为企业发展过程中的有力推手。专业的建站公司不一定是大公司,创新互联建站作为专业的网络公司选择我们就是放心。
按照你这个国内ip生成的代码,添加一个各个省份的ip段库。 应该就能解决了。
require 'city.php';
// 连接数据库(PDO)
$pdo=new PDO('mysql:host=localhost;dbname=city','root','root');
$pdo-exec('set names utf8');
$pdo-setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC);
// 实例化城市类
$c=new city();
$result=$c-mycity();
$city_id = 0;
foreach ($result as $k=$value) {
if(count($value) == count($value,1)){
$sql="insert into city_province (province) value ('{$value['province_name']}')";
$smt=$pdo-prepare($sql);
$smt-execute();
}else{
$sql11="insert into city_province (province) value ('{$value['province_name']}')";
$smt11=$pdo-prepare($sql11);
$smt11-execute();
foreach ($value['city'] as $v=$value1) {
$sql2="insert into city_name (name,province_id) values ('{$value1['city_name']}','{$k}')";
$smt2=$pdo-prepare($sql2);
$smt2-execute();
$city_id += 1;
echo $city_id.'br';
if(!empty($value1['area'])){
foreach ($value1['area'] as $valu1e2) {
$sql3="insert into city_area (area,city_id) values ('{$valu1e2}','{$city_id}')";
$smt3=$pdo-prepare($sql3);
$smt3-execute();
}
}
}
}
}
城市类太大了,发不了。
我是把省、市、地区分别存在三个数据表中(我是新手,刚自己写的)
你这 是通过 后台取数据的,关改 上面的代码是没有用的,省市联动一般有两种做法。第一种,下载一个js的省 市联动的插件,调用插件就可以,第二种,就是存在数据库里,然后前端当省框的值改变 的时候就ajax去后台取出该省的所有市在市框中列出来,然后再市框的值改变的时候,再后台去取出该市所有的县区在前端列出来。现在大部份是用第一种做法比较好,下个插件吧