`
hudeyong926
  • 浏览: 2018343 次
  • 来自: 武汉
社区版块
存档分类
最新评论

Jquery N级联动

阅读更多

2016全国省市区数据库特点

<?php

class Region
{
    /**
     * 是否为直辖市
     * @param string $name 名称
     * @return bool
     */
    public static function isMunicipality($name) {
        return in_array($name, [
            '北京', '上海', '天津', '重庆'
        ]);
    }

    /**
     * 是否为特别行政区
     * @param string $name 名称
     * @return bool
     */
    public static function isSAR($name) {
        return in_array($name, [
            '香港特别行政区', '澳门特别行政区'
        ]);
    }

    /**
     * 是否为自治区
     * @param string $name 名称
     * @return bool
     */
    public static function isAutonomousRegion($name) {
        return in_array($name, [
            '内蒙古自治区', '新疆维吾尔自治区', '广西壮族自治区', '宁夏回族自治区', '西藏自治区'
        ]);
    }

    /**
     * 是否为省份
     * @param string $name 名称
     * @return bool
     */
    public static function isProvince($name) {
        return !static::isSAR($name) && !static::isAutonomousRegion($name) && !static::isMunicipality($name);
    }

    function getRegions($type = 1, $parent_id = 1) {
        return $this->where(['region_level' => $type, 'parent_id' => $parent_id])->select();
    }
    /**
     * 省份下的城市
     */
    public function getCitysByProvinceId($pid) {
        $cityArray = array();
        if ($pid > 0) {
            $cityArray = $this->getRegions(2, $pid);
        }
        return $cityArray;
    }

    /**
     * 城市下的地区
     */
    public function getDistrictsByCityId($city_id) {
        $areaArray = array();
        if ($city_id > 0) {
            $areaArray = $this->getRegions(3, $city_id);;
        }
        return $areaArray;
    }

    /**
     * 获取省市区完整名称
     */
    public function getFullDistrict($province, $city, $area, $delimiter = '') {
        $regions = $this->getAllRegions();
        $provinceName = $cityName = $areaName = '';
        if ($province > 0 && array_key_exists($province, $regions)) {
            $provinceName = $regions[$province];
        }
        if ($city > 0 && array_key_exists($city, $regions)) {
            $cityName = str_replace(['县', '市辖区'], '', $regions[$city]);
        }
        if ($area > 0 && array_key_exists($area, $regions)) {
            $areaName = $regions[$area];
        }
        return $provinceName . $delimiter . $cityName . $delimiter . $areaName;
    }

    public function getAllRegions() {
        $result = array();
        $regions = $this->select();
        foreach ($regions as $r) {
            $result[$r['region_id']] = $r['region_name'];
        }
        return $result;
    }
} 
 

html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript" src="LinkedSelect.js"></script>
    <script type="text/javascript" charset="utf-8">
        var select = new LinkedSelect();
        // 调用selct的init()方法,注意,该方法的参数是一个数组,用[]括起来,每个select的定义用{}括起来,多个select定义之间以,分割
        select.init([
            {
                id:"province",
                url:"http://localhost/provinces.php",
                nullable:false,
                defaultValue:'230000' //selected
            },
            {
                id:"city",
                url:"http://localhost/city.php",
                nullable:false
            }
        ]);
    </script>
    <select name="province" id="province">
    </select>
    <select name="city" id="city">
    </select>
</html>
分享到:
评论
3 楼 nilm61 2010-11-05  
支持 一下 !!
2 楼 kjj 2010-03-19  
杯具啊,创建表编码竟然是lant1 ,你叫我如何是好,希望你上传utf8编码 的,否则很难用!
1 楼 cheney_love 2010-01-19  
这么多下载的,怎么一个留言的也没有,lz多伤心哦

相关推荐

Global site tag (gtag.js) - Google Analytics