php获取腾讯行政划分

<?php

require_once 'dbModel.php';
$database = new dbModel();

if ($database->has("json_table", [
	"AND" => [
		"area_id" => $_GET['id']
	]
])) {
	//如果表中已经有记录了,就不再到腾讯服务器上获取,直接返回给前段,腾讯每个key是有规定的调用量的
	$datas = $database->select("json_table", [
		"content"
	], [
		"area_id" => $_GET['id']
	]);
	echo json_encode(getData($datas), JSON_UNESCAPED_UNICODE); 

} else {
	// 表中没有记录必须到腾讯服务器获取,然后存放到数据库中。这里表中的字段是json格式的,mysql版本5.7.之前版本不行哦
	$s = file_get_contents("https://apis.map.qq.com/ws/district/v1/getchildren?id={$_GET['id']}&key=5Y5BZ-****-****-****-****-****");
	$database->insert("json_table", [
		"content" => $s,
		"area_id"=>$_GET['id']
	]);
	echo json_encode($s, JSON_UNESCAPED_UNICODE);
}

/**  tp5内置函数
  * 获取对象原始数据 如果不存在指定字段返回false
  * @access public
  * @param string $name 字段名 留空获取全部
  * @return mixed
  * @throws InvalidArgumentException
  */
 public function getData($name = null)
 {
     if (is_null($name)) {
         return $this->data;
     } elseif (array_key_exists($name, $this->data)) {
         return $this->data[$name];
     } else {
         throw new InvalidArgumentException('property not exists:' . $this->class . '->' . $name);
     }
 }

https://lbs.qq.com/webservice_v1/guide-region.html 这是腾讯的提供行政区域划分的网址,可以自己注册一个key,个人也可以的。提供中国标准行政区划数据,可用于生成城市列表控件等功能时使用。在前端之前都是把行政区域划分都保存在前段,会遇见行政区域划分变动,客户反应区域不对,这时候改前端重新发布,很麻烦。现在是客户反应那个行政区域不对,就在数据库中删除那个记录就可以了。

数据表结构,主要是注意json格式,mysql版本5.7.其他字段自己完善,这里只是演示一下。

表的记录,当参数为0时,获取全国行政区域

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值