• 
    

      <address id="upfr9"><pre id="upfr9"><strike id="upfr9"></strike></pre></address>
      1. <address id="upfr9"><tr id="upfr9"></tr></address><dl id="upfr9"></dl>

        PHP開發(fā)制作三級城市聯(lián)動效果

        2023-02-16    分類: 網(wǎng)站建設(shè)

        網(wǎng)站上有很多jq的三級聯(lián)動,主要是城市地區(qū)數(shù)據(jù),那我們怎么獲取到這些數(shù)據(jù)并且保存在我們的數(shù)據(jù)表中,
        這是國家統(tǒng)計局的數(shù)據(jù),下面我們用PHP程序?qū)⑺麄儾杉聛?br />1.數(shù)據(jù)采集
        publicfunctioncountryaddress(){
        $ModelObj=D('Areas');
        $baseUrl='http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2016/';
        //第一級
        $firstDetail=file_get_contents($baseUrl.'index.html');
        $firstPattern='/<td><ahref=\'(\d+).html\'>(.*?)<br\/><\/a><\/td>/i';
        preg_match_all($firstPattern,$firstDetail,$firstResult);
        $urllist=$firstResult[1];
        $namelist=$firstResult[2];
        foreach($namelistas$k=>$v){
        $iscun=$ModelObj->where(array('name'=>iconv('GB2312','UTF-8',$v)))->find();
        if(!$iscun){
        $adddata=array(
        'code'=>$k+1,//省級編碼暫時默認(rèn)以排序號來定
        'name'=>iconv('GB2312','UTF-8',$v),
        'parent_id'=>0,
        );
        $first_re=$ModelObj->data($adddata)->add();
        if($first_re){
        //第二級
        $secondDetail=file_get_contents($baseUrl.$urllist[$k].'.html');
        $secondPattern="/<td><ahref=\'".$urllist[$k]."\/(\d+?)\.html\'>(\d+?)<\/a><\/td><td><ahref=\'".$urllist[$k]."\/(\d+?)\.html\'>(.*?)<\/a>/i";
        preg_match_all($secondPattern,$secondDetail,$secondResult);
        $secondUrlList=$secondResult[1];
        $secondCodeList=$secondResult[2];
        $secondNameList=$secondResult[4];
        foreach($secondNameListas$m=>$n){
        $iscun=$ModelObj->where(array('name'=>iconv('GB2312','UTF-8',$n),'parent_id'=>$first_re))->find();
        if(!$iscun){
        $adddata=array(
        'code'=>$secondCodeList[$m],
        'name'=>iconv('GB2312','UTF-8',$n),
        'parent_id'=>$first_re,
        );
        $second_re=$ModelObj->add($adddata);
        if($second_re){
        //第三級
        $thirdDetail=file_get_contents($baseUrl.$urllist[$k].'/'.$secondUrlList[$m].'.html');
        $thirdPattern='/<td>(?:<ahref=\'.*?\'>)*(\d+?)(?:<\/a>)*<\/td><td>(?:<ahref=\'.*?\'>)*(.*?)(?:<\/a>)*<\/td>/i';
        preg_match_all($thirdPattern,$thirdDetail,$thirdResult);
        $thirdCodeList=$thirdResult[1];
        $thirdNameList=$thirdResult[2];
        foreach($thirdNameListas$p=>$q){
        $iscun=$ModelObj->where(array('name'=>iconv('GB2312','UTF-8',$q),'parent_id'=>$second_re))->find();
        if(!$iscun){
        $adddata=array(
        'code'=>$thirdCodeList[$p],
        'name'=>iconv('GB2312','UTF-8',$q),
        'parent_id'=>$second_re,
        );
        $third_re=$ModelObj->add($adddata);
        }
        }
        }
        }
        }
        }
        }
        }
        }
        2.省級代碼替換
        /**
        *
        */
        publicfunctionprovincereplace(){
        //省級code
        $provinceCode=array(
        array('code'=>'110000','title'=>'北京市'),
        array('code'=>'120000','title'=>'天津市'),
        array('code'=>'130000','title'=>'河北省'),
        array('code'=>'140000','title'=>'山西省'),
        array('code'=>'150000','title'=>'內(nèi)蒙古自治區(qū)'),
        array('code'=>'210000','title'=>'遼寧省'),
        array('code'=>'220000','title'=>'吉林省'),
        array('code'=>'230000','title'=>'黑龍江省'),
        array('code'=>'310000','title'=>'上海市'),
        array('code'=>'320000','title'=>'江蘇省'),
        array('code'=>'330000','title'=>'浙江省'),
        array('code'=>'340000','title'=>'安徽省'),
        array('code'=>'350000','title'=>'福建省'),
        array('code'=>'360000','title'=>'江西省'),
        array('code'=>'370000','title'=>'山東省'),
        array('code'=>'410000','title'=>'河南省'),
        array('code'=>'420000','title'=>'湖北省'),
        array('code'=>'430000','title'=>'湖南省'),
        array('code'=>'440000','title'=>'廣東省'),
        array('code'=>'450000','title'=>'廣西壯族自治區(qū)'),
        array('code'=>'460000','title'=>'海南省'),
        array('code'=>'500000','title'=>'重慶市'),
        array('code'=>'510000','title'=>'四川省'),
        array('code'=>'520000','title'=>'貴州省'),
        array('code'=>'530000','title'=>'云南省'),
        array('code'=>'540000','title'=>'西藏自治區(qū)'),
        array('code'=>'610000','title'=>'陜西省'),
        array('code'=>'620000','title'=>'甘肅省'),
        array('code'=>'630000','title'=>'青海省'),
        array('code'=>'640000','title'=>'寧夏回族自治區(qū)'),
        array('code'=>'650000','title'=>'新疆維吾爾自治區(qū)'),
        );
        $ModelObj=D('Areas');
        foreach($provinceCodeas$k=>$v){
        $ModelObj->where(array('name'=>$v['title']))->setField('code',$v['code']);
        }
        }
        3.處理級別父級代碼
        /**
        *處理級別父級代碼
        */
        publicfunctionlevelandparentcode(){
        $ModelObj=D('Areas');
        $alllist=$ModelObj->select();
        foreach($alllistas$k=>$v){
        if(!$v['parent_id']){
        $data=array(
        'level'=>1,
        'parent_code'=>'0',
        );
        }else{
        $parent=$ModelObj->where(array('id'=>$v['parent_id']))->find();
        if(!$parent['parent_id']){
        $data=array(
        'level'=>2,
        'parent_code'=>$parent['code'],
        );
        }else{
        $data=array(
        'level'=>3,
        'parent_code'=>$parent['code'],
        );
        }
        }
        $re=$ModelObj->where(array('id'=>$v['id']))->save($data);
        }
        }
        4.有了三級的數(shù)據(jù)做聯(lián)動就很簡單。
        <formid="searce">
        <divclass="screen-li">
        <selectname="province"id="province">
        <optionvalue="">省</option>
        <volistname="province"id="item"><!--循環(huán)省數(shù)據(jù)-->
        <optionvalue="{$item.code}">{$item.name}</option>
        </volist>
        </select>
        </div>
        <divclass="screen-li">
        <selectname='city'id="city">
        <optionvalue="">市</option>
        </select>
        </div>
        <divclass="screen-li">
        <selectname='area'id="area">
        <optionvalue="">區(qū)/縣</option>
        </select>
        </div>
        <script>
        $('#province).change(function(){
        id=$(this).val();
        get_city(id)
        })
        functionget_city(id){
        url_get_city="{:U('city')}?id="+id
        $("#city").load(url_get_city,{n:Math.random()});
        }
        $('#city).change(function(){
        id=$(this).val();
        get_area(id)
        })
        functionget_area(id){
        url_get_area="{:U('area')}?id="+id
        $("#area").load(url_get_area,{n:Math.random()});
        }
        </script>

        網(wǎng)頁題目:PHP開發(fā)制作三級城市聯(lián)動效果
        文章位置:http://www.jbt999.com/news25/237475.html

        成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、關(guān)鍵詞優(yōu)化、服務(wù)器托管、網(wǎng)站策劃軟件開發(fā)、網(wǎng)站建設(shè)

        廣告

        聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

        綿陽服務(wù)器托管

      2. 
        

          <address id="upfr9"><pre id="upfr9"><strike id="upfr9"></strike></pre></address>
          1. <address id="upfr9"><tr id="upfr9"></tr></address><dl id="upfr9"></dl>
            内射极品尤物 | 大香蕉视频网站 | 一区在线观看 | 欧美系列黄色免费 | 韩国一区二区三区四区不卡视频 | 久久人妖TS三区系列电影 | 色老板免费精品视频 | 香蕉视频日本免费色老板 | 欧美午夜视频 | 艹艹艹视频 |