久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

PHP將JSON格式省市(區(qū))二級數(shù)據(jù)插入數(shù)據(jù)庫

瀏覽:2日期:2022-09-13 11:02:22

在網(wǎng)站開發(fā)過程中,很多情況下都要用到省市(區(qū))二級聯(lián)動下拉菜單,比如地址信息,以及天氣等API接口調(diào)用,等等,而且具有通用性,一次入庫,到處使用,前面農(nóng)夫莊園相關(guān)文章提到過該方法,但是網(wǎng)上找到的省市信息比較坑,很多將縣一級的城市也列到區(qū)市里,后面還要刪除,比較麻煩,后來在測試天氣API的時(shí)候,找到一個更好的json格式的省市信息,應(yīng)該是比較準(zhǔn)確了,這里將相關(guān)代碼列出如下,希望給大家提供幫助:

首先需要下載我提供的包含json格式省市信息的文件:sxinfo.txt

然后將該文件中的json格式數(shù)據(jù)拷貝到下面代碼中相應(yīng)的位置(或者你也可以從文件流中讀取省市信息到字符串中,然后進(jìn)行處理,這里不贅述):

<?php/** author:農(nóng)夫莊園* website:* url:/p/5543.html*///json格式的地區(qū)字符串$area = <<<AREA這里插入json格式省市信息AREA;//將json格式的地區(qū)字符串轉(zhuǎn)化為數(shù)組,不加參數(shù)true則會轉(zhuǎn)化為對象$area_array = json_decode($area, true);//echo ’<pre>’;//print_r($area_array);$areas = $area_array[’areas’];$pdo = new PDO(’mysql:host=localhost;dbname=dbname;charset=utf8’, ’user’, ’pass’); //將相應(yīng)位置替換成你的數(shù)據(jù)庫對應(yīng)信息//開啟事務(wù)支持$pdo->beginTransaction();foreach ($areas as $area): //echo ’省/直轄市:’.$area[’省’].’<br/>’; $province = $area[’省’]; $stmt = $pdo->prepare('INSERT INTO province(`name`) VALUES(:name)'); $stmt->bindParam(’:name’, $province); if ($stmt->execute()) {$cities = $area[’市’];foreach ($cities as $city) { //echo ’|---市/區(qū)/自治州:’.$city[’編碼’].’-’.$city[’市名’].’<br/>’; $cid = $city[’編碼’]; $name = $city[’市名’]; //查詢省份id[province表中的name是唯一的] $query = $pdo->prepare('SELECT id FROM province WHERE name = ’'.$province.'’'); $query->execute(); //獲取省份id $pid = $query->fetchColumn(); $stmt2 = $pdo->prepare('INSERT INTO city(`id`,`name`,`p_id`) VALUES(:id,:name,:pid)'); $stmt2->bindParam(’:name’,$name); $stmt2->bindParam(’:pid’,$pid); $stmt2->bindParam(’:id’,$cid); if($stmt2->execute()):continue; else:echo ’插入城市’.$name.’失敗!’;//如果插入失敗執(zhí)行回滾操作$pdo->rollBack();$pdo=null;return; endif;} }else{echo '插入省份'.$province.'失敗!';//如果插入失敗執(zhí)行回滾操作$pdo->rollBack();$pdo=null;return; }endforeach;//如果所有數(shù)據(jù)插入成功執(zhí)行提交操作$pdo->commit();$pdo = null;?>

至此,執(zhí)行上述代碼,就可以將省市信息插入你的數(shù)據(jù)庫了。

標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 永嘉县| 烟台市| 嘉义市| 台安县| 杂多县| 堆龙德庆县| 云安县| 定襄县| 襄城县| 定陶县| 佛坪县| 喀喇沁旗| 大宁县| 和龙市| 运城市| 尖扎县| 龙江县| 巫溪县| 延吉市| 盐亭县| 阳朔县| 大名县| 丹江口市| 万载县| 屏山县| 莫力| 西平县| 长武县| 鄄城县| 武夷山市| 阿克陶县| 九龙城区| 安新县| 中方县| 繁昌县| 于都县| 石柱| 贺州市| 洪湖市| 涿鹿县| 江陵县|