博主信息
博文 64
粉丝 2
评论 3
访问量 89486
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
通过接口获取省份并且保存在本地数据库中
清雨的博客
原创
1764人浏览过

本来今天改写写昨天所讲的视频的东西了,但是在课程中谈到了省份,在听完课程后,就在网上找了一个免费的接口调用数据存放在本地,在写视频的时候可以使用;

早了很多,大多都是文档类型需要编写为数据库脚本进行导入,感觉还是太浪费时间,既然已经学习编程那么就要学习使用简单的方式快速的实现,就在晚上课后,在今天工作之余把这个接口完成并且保存在了数据库中,并且编写了此文档;实现方式

1、申请了免费接口,(主要为省一些资金,在一个只调用一次后就存储在了当地数据库中,故而付费也没有大多意义);

2、拿到接口地址以及接口秘钥后,采用循环,该处使用了多次循环, 第一次循环是将 省的数据拿到,拿到后将其使用json_decode 对 JSON 格式的字符串进行解码,数据成为OBJ在使用array()转换为常用的数组;


3、拿到数组在将其进行2次循环拿到每个省的对象

4、拿到省的对象后,进行查询数据库,并且拿出省的fid ,使用接口将省下面的市拿出,再次使用json_decode 对 JSON 格式的字符串进行解码,数据成为OBJ在使用array()转换为常用的数组;

5、再次进行两次循环,拿到每个省下面所有市的obj对象,保存数据库;


附上在学习过程 github 代码仓及码云代码地址:

https://github.com/qingyuxiaoxiao/qingyu.git

https://gitee.com/daogujin/qingyu.git

demo 地址:

demo.nmgseozx.com/admin/login

部分运行结果

微信截图_20200620142921.png

代码如下

public function xz()
    {
        $dz = 'http://apis.juhe.cn/xzqh/query?fid=&key=f49d9e06ae9d309e1a949cbfe5f54f05';
//        发送请求并且转换为数组
        $res = array(file_get_contents($dz));
        foreach ($res as $key=>$val){
            //使用json_decode 对 JSON 格式的字符串进行解码
            $ress = json_decode($val);
            //转换为数组
            $ress = array($ress->result);

            foreach ($ress as $key=>$vals){
                foreach ($vals as $k=>$value){
                    //将省存入数据库
                    DB::table('sf')->insert(array('code'=>$value->id,'name'=>$value->name,'fid'=>$value->fid,'level_id'=>$value->level_id));
                    //将省fid放入接口中进行查询数据
                    $dsz = 'http://apis.juhe.cn/xzqh/query?fid='.$value->id.'&key=f49d9e06ae9d309e1a949cbfe5f54f05';
                    //        发送请求并且转换为数组
                    $dsz =array(file_get_contents($dsz));
                    foreach ($dsz as $ks=> $va){
                        $rees = json_decode($va);
                        $rees = array($rees->result);
                        foreach ($rees as $keys=>$valuses){
                            foreach ($valuses as $keyse => $valusess){
                                //将城市存入数据库
                                DB::table('sf')->insert(array('code'=>$valusess->id,'name'=>$valusess->name,'fid'=>$valusess->fid,'level_id'=>$valusess->level_id));
                                //将省fid放入接口中进行查询数据
                                $dszs = 'http://apis.juhe.cn/xzqh/query?fid='.$valusess->id.'&key=f49d9e06ae9d309e1a949cbfe5f54f05';
                                //        发送请求并且转换为数组
                                $dszs =array(file_get_contents($dszs));
                                foreach ($dszs as $keysy=>$valusesy){
                                    $reesy = json_decode($valusesy);
                                    $reesy = array($reesy->result);
                                    foreach ($reesy as $keysys=>$vaas){
                                        foreach ($vaas as $keye=>$vaa){
                                            //将城市存入数据库
                                            DB::table('sf')->insert(array('code'=>$vaa->id,'name'=>$vaa->name,'fid'=>$vaa->fid,'level_id'=>$vaa->level_id));
                                            echo '<pre>';
                                            print_r($valusess);
                                        }
                                    }
                                }
//                                echo '<pre>';
//                                print_r($valusess);
                            }
                        }
                        echo '<pre>';
                        print_r($rees);
                    }
                }
            }
        }
    }

该次写接口使用了6次循环,感觉还是对系统运行没有什么影响,因为接口在使用中只是执行一次,执行后,将数据保存在了本地的mysql中,也不会再去执行;所以感觉影响应该不会很大;

之前一直都认为接口这个东西是非常高大上的,其实也并不是,在我们写程序的时候其实每一个都是接口,比如保存文档,其实就是一个接口,在此次实例中,已经很好体现,这是我们要考虑将数据拿到我们要如何在进行操作才是最主要的关键

批改老师:WJWJ

批改状态:合格

老师批语:写的不错,继续加油!
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学