最新消息:文章中包含代码时,请遵守代码高亮规范!

中国省市查询(普通查询和联动查询)【原创】

PHP Devin 2696浏览 0评论

很多系统在用户注册的时候都会填写籍贯,这样就必须要列出中国所有的省,及其之下的市甚至是县和区。有两种方法,一种是联动查询,及选择完省之后加载相对应的市给用户选择;第二种方法就是列出所有的地区给用户选择。方法详情如下:

一、联动查询

联动查询的核心是数据库中省市之间关联关系的设置和AJAX。

数据库设计:

QQ图片20141129091628

demo.php


<?php
try {
$db = new PDO('mysql:host=localhost;dbname=demo', 'root', 'root');
$db->exec('set names utf8;');
} catch (PDOException $e) {
print "Error: " . $e->getMessage() . "<br/>";
die();
}
$province = $db -> query("SELECT `id`, `name` FROM `province_city` WHERE parent_id = '0'") -> fetchAll();
?>

<select id="province">
<option value="0">请选择省</option>
<?php foreach($province as $value) {?>
<option value="<?php echo $value['id']; ?>"><?php echo $value['name']; ?></option>
<?php } ?>
</select>
<select id="city">
<option value="0">请选择市</option>
</select>

<script src="jquery.min.js" type="text/javascript"></script>
<script>
$("#province").change(function () {
var province = $("#province").val();
$.post("ajaxcity.php", {province: province}, function (result) {
var json = $.parseJSON(result);
var html = "";
for (var i = 0; i < json.length; i++) {
html += '<option value = ' + json[i].id + '>' + json[i].name + '</option>';
}
$("#city").empty();
$(html).appendTo($("#city"));
});
});
</script>

ajaxcity.php


<?php

try {
$db = new PDO('mysql:host=localhost;dbname=demo', 'root', 'root');
$db->exec('set names utf8;');
} catch (PDOException $e) {
print "Error: " . $e->getMessage() . "<br/>";
die();
}

$province = isset($_POST['province']) ? $_POST['province'] : 0;

if( $province == 0){

} else {
$city = $db -> query("SELECT `id`, `name` FROM `province_city` WHERE parent_id = " . $province) -> fetchAll();
}

$json = json_encode($city);
exit($json);

效果图:

QQ图片20141129091840 QQ图片20141129091856

 

二、全局数组


public function getBirthplace()
{
return array(
1 => '北京市东城区',
2 => '北京市西城区',
3 => '北京市朝阳区',
4 => '北京市丰台区',
5 => '北京市石景山',
6 => '北京市海淀区',
7 => '北京市门头沟',
8 => '北京市房山区',
9 => '北京市通州区',
10 => '北京市顺义区',
11 => '北京市昌平区',
12 => '北京市大兴区',
13 => '北京市平谷区',
14 => '北京市怀柔区',
15 => '北京市密云区',
16 => '北京市延庆区',
17 => '天津市和平区',
18 => '天津市河东区',
19 => '天津市河西区',
20 => '天津市南开区',
21 => '天津市河北区',
22 => '天津市红桥区',
23 => '天津市东丽区',
24 => '天津市西青区',
25 => '天津市津南区',
26 => '天津市北辰区',
27 => '天津市宁河区',
28 => '天津市武清区',
29 => '天津市静海区',
30 => '天津市宝坻区',
31 => '天津市蓟县',
32 => '天津市滨海新区',
33 => '河北石家庄',
34 => '河北唐山',
35 => '河北秦皇岛',
36 => '河北邯郸',
37 => '河北邢台',
38 => '河北保定',
39 => '河北张家口',
40 => '河北承德',
41 => '河北沧州',
42 => '河北廊坊',
43 => '河北衡水',
44 => '山西太原',
45 => '山西大同',
46 => '山西阳泉',
47 => '山西长治',
48 => '山西晋城',
49 => '山西朔州',
50 => '山西晋中',
51 => '山西运城',
52 => '山西忻州',
53 => '山西临汾',
54 => '山西吕梁',
55 => '内蒙古呼和浩特',
56 => '内蒙古包头',
57 => '内蒙古乌海',
58 => '内蒙古赤峰',
59 => '内蒙古通辽',
60 => '内蒙古鄂尔多斯',
61 => '内蒙古呼伦贝尔',
62 => '内蒙古巴彦淖尔',
63 => '内蒙古乌兰察布',
64 => '内蒙古兴安',
65 => '内蒙古锡林郭勒',
66 => '内蒙古阿拉善',
67 => '辽宁沈阳',
68 => '辽宁大连',
69 => '辽宁鞍山',
70 => '辽宁抚顺',
71 => '辽宁本溪',
72 => '辽宁丹东',
73 => '辽宁锦州',
74 => '辽宁营口',
75 => '辽宁阜新',
76 => '辽宁辽阳',
77 => '辽宁盘锦',
78 => '辽宁铁岭',
79 => '辽宁朝阳',
80 => '辽宁葫芦岛',
81 => '吉林长春',
82 => '吉林吉林',
83 => '吉林四平',
84 => '吉林辽源',
85 => '吉林通化',
86 => '吉林白山',
87 => '吉林松原',
88 => '吉林白城',
89 => '吉林延边',
90 => '黑龙江哈尔滨',
91 => '黑龙江齐齐哈尔',
92 => '黑龙江鸡西',
93 => '黑龙江鹤岗',
94 => '黑龙江双鸭山',
95 => '黑龙江大庆',
96 => '黑龙江伊春',
97 => '黑龙江佳木斯',
98 => '黑龙江七台河',
99 => '黑龙江牡丹江',
100 => '黑龙江黑河',
101 => '黑龙江绥化',
102 => '黑龙江大兴安岭',
103 => '上海黄浦区',
104 => '上海卢湾区',
105 => '上海徐汇区',
106 => '上海长宁区',
107 => '上海静安区',
108 => '上海普陀区',
109 => '上海闸北区',
110 => '上海虹口区',
111 => '上海杨浦区',
112 => '上海闵行区',
113 => '上海宝山区',
114 => '上海嘉定区',
115 => '上海浦东新区',
116 => '上海金山区',
117 => '上海松江区',
118 => '上海奉贤区',
119 => '上海青浦区',
120 => '上海崇明区',
121 => '江苏南京',
122 => '江苏无锡',
123 => '江苏徐州',
124 => '江苏常州',
125 => '江苏苏州',
126 => '江苏南通',
127 => '江苏连云港',
128 => '江苏淮安',
129 => '江苏盐城',
130 => '江苏扬州',
131 => '江苏镇江',
132 => '江苏泰州',
133 => '江苏宿迁',
134 => '浙江杭州',
135 => '浙江宁波',
136 => '浙江温州',
137 => '浙江嘉兴',
138 => '浙江湖州',
139 => '浙江绍兴',
140 => '浙江金华',
141 => '浙江衢州',
142 => '浙江舟山',
143 => '浙江台州',
144 => '浙江丽水',
145 => '安徽合肥',
146 => '安徽芜湖',
147 => '安徽蚌埠',
148 => '安徽淮南',
149 => '安徽马鞍山',
150 => '安徽淮北',
151 => '安徽铜陵',
152 => '安徽安庆',
153 => '安徽黄山',
154 => '安徽滁州',
155 => '安徽阜阳',
156 => '安徽宿州',
157 => '安徽六安',
158 => '安徽亳州',
159 => '安徽池州',
160 => '安徽宣城',
161 => '福建福州',
162 => '福建厦门',
163 => '福建莆田',
164 => '福建三明',
165 => '福建泉州',
166 => '福建漳州',
167 => '福建南平',
168 => '福建龙岩',
169 => '福建宁德',
170 => '江西南昌',
171 => '江西景德镇',
172 => '江西萍乡',
173 => '江西九江',
174 => '江西新余',
175 => '江西鹰潭',
176 => '江西赣州',
177 => '江西吉安',
178 => '江西宜春',
179 => '江西抚州',
180 => '江西上饶',
181 => '山东济南',
182 => '山东青岛',
183 => '山东淄博',
184 => '山东枣庄',
185 => '山东东营',
186 => '山东烟台',
187 => '山东潍坊',
188 => '山东济宁',
189 => '山东泰安',
190 => '山东威海',
191 => '山东日照',
192 => '山东莱芜',
193 => '山东临沂',
194 => '山东德州',
195 => '山东聊城',
196 => '山东滨州',
197 => '山东菏泽',
198 => '河南郑州',
199 => '河南开封',
200 => '河南洛阳',
201 => '河南平顶山',
202 => '河南安阳',
203 => '河南鹤壁',
204 => '河南新乡',
205 => '河南焦作',
206 => '河南濮阳',
207 => '河南许昌',
208 => '河南漯河',
209 => '河南三门峡',
210 => '河南南阳',
211 => '河南商丘',
212 => '河南信阳',
213 => '河南周口',
214 => '河南驻马店',
215 => '河南济源',
216 => '湖北武汉',
217 => '湖北黄石',
218 => '湖北十堰',
219 => '湖北宜昌',
220 => '湖北襄阳',
221 => '湖北鄂州',
222 => '湖北荆门',
223 => '湖北孝感',
224 => '湖北荆州',
225 => '湖北黄冈',
226 => '湖北咸宁',
227 => '湖北随州',
228 => '湖北恩施',
229 => '湖北仙桃',
230 => '湖北潜江',
231 => '湖北天门',
232 => '湖北神农架',
233 => '湖南长沙',
234 => '湖南株洲',
235 => '湖南湘潭',
236 => '湖南衡阳',
237 => '湖南邵阳',
238 => '湖南岳阳',
239 => '湖南常德',
240 => '湖南张家界',
241 => '湖南益阳',
242 => '湖南郴州',
243 => '湖南永州',
244 => '湖南怀化',
245 => '湖南娄底',
246 => '湖南湘西',
247 => '广东广州',
248 => '广东韶关',
249 => '广东深圳',
250 => '广东珠海',
251 => '广东汕头',
252 => '广东佛山',
253 => '广东江门',
254 => '广东湛江',
255 => '广东茂名',
256 => '广东肇庆',
257 => '广东惠州',
258 => '广东梅州',
259 => '广东汕尾',
260 => '广东河源',
261 => '广东阳江',
262 => '广东清远',
263 => '广东东莞',
264 => '广东中山',
265 => '广东潮州',
266 => '广东揭阳',
267 => '广东云浮',
268 => '广西南宁',
269 => '广西柳州',
270 => '广西桂林',
271 => '广西梧州',
272 => '广西北海',
273 => '广西防城港',
274 => '广西钦州',
275 => '广西贵港',
276 => '广西玉林',
277 => '广西百色',
278 => '广西贺州',
279 => '广西河池',
280 => '广西来宾',
281 => '广西崇左',
282 => '海南海口',
283 => '海南三亚',
284 => '海南三沙',
285 => '海南五指山',
286 => '海南琼海',
287 => '海南儋州',
288 => '海南文昌',
289 => '海南万宁',
290 => '海南东方',
291 => '海南定安',
292 => '海南屯昌',
293 => '海南澄迈',
294 => '海南临高',
295 => '海南白沙',
296 => '海南昌江',
297 => '海南乐东',
298 => '海南陵水',
299 => '海南保亭',
300 => '海南琼中',
301 => '重庆万州',
302 => '重庆涪陵',
303 => '重庆渝中',
304 => '重庆大渡口',
305 => '重庆江北',
306 => '重庆沙坪坝',
307 => '重庆九龙坡',
308 => '重庆南岸',
309 => '重庆北碚',
310 => '重庆万盛',
311 => '重庆双桥',
312 => '重庆渝北',
313 => '重庆巴南',
314 => '重庆长寿',
315 => '重庆綦江',
316 => '重庆潼南',
317 => '重庆铜梁',
318 => '重庆大足',
319 => '重庆荣昌',
320 => '重庆璧山',
321 => '重庆梁平',
322 => '重庆城口',
323 => '重庆丰都',
324 => '重庆垫江',
325 => '重庆武隆',
326 => '重庆忠县',
327 => '重庆开县',
328 => '重庆云阳',
329 => '重庆奉节',
330 => '重庆巫山',
331 => '重庆巫溪',
332 => '重庆黔江',
333 => '重庆石柱',
334 => '重庆秀山',
335 => '重庆酉阳',
336 => '重庆彭水',
337 => '重庆江津',
338 => '重庆合川',
339 => '重庆永川',
340 => '重庆南川',
341 => '重庆两江新城',
342 => '四川成都',
343 => '四川自贡',
344 => '四川攀枝花',
345 => '四川泸州',
346 => '四川德阳',
347 => '四川绵阳',
348 => '四川广元',
349 => '四川遂宁',
350 => '四川内江',
351 => '四川乐山',
352 => '四川南充',
353 => '四川眉山',
354 => '四川宜宾',
355 => '四川广安',
356 => '四川达州',
357 => '四川雅安',
358 => '四川巴中',
359 => '四川资阳',
360 => '四川阿坝',
361 => '四川甘孜',
362 => '四川凉山',
363 => '贵州贵阳',
364 => '贵州六盘水',
365 => '贵州遵义',
366 => '贵州安顺',
367 => '贵州铜仁',
368 => '贵州黔西南',
369 => '贵州毕节',
370 => '贵州黔东南',
371 => '贵州黔南',
372 => '云南昆明',
373 => '云南曲靖',
374 => '云南玉溪',
375 => '云南保山',
376 => '云南昭通',
377 => '云南丽江',
378 => '云南普洱',
379 => '云南临沧',
380 => '云南楚雄',
381 => '云南红河',
382 => '云南文山',
383 => '云南西双版纳',
384 => '云南大理',
385 => '云南德宏',
386 => '云南怒江',
387 => '云南迪庆',
388 => '西藏拉萨',
389 => '西藏昌都',
390 => '西藏山南',
391 => '西藏日客则',
392 => '西藏那曲',
393 => '西藏阿里',
394 => '西藏林芝',
395 => '陕西西安',
396 => '陕西铜川',
397 => '陕西宝鸡',
398 => '陕西咸阳',
399 => '陕西渭南',
400 => '陕西延安',
401 => '陕西汉中',
402 => '陕西榆林',
403 => '陕西安康',
404 => '陕西商洛',
405 => '甘肃兰州',
406 => '甘肃嘉峪关',
407 => '甘肃金昌',
408 => '甘肃白银',
409 => '甘肃天水',
410 => '甘肃武威',
411 => '甘肃张掖',
412 => '甘肃平凉',
413 => '甘肃酒泉',
414 => '甘肃庆阳',
415 => '甘肃定西',
416 => '甘肃陇南',
417 => '甘肃临夏',
418 => '甘肃甘南',
419 => '青海西宁',
420 => '青海海东',
421 => '青海海北',
422 => '青海黄南',
423 => '青海海南',
424 => '青海果洛',
425 => '青海玉树',
426 => '青海海西',
427 => '宁夏银川',
428 => '宁夏石嘴山',
429 => '宁夏吴忠',
430 => '宁夏固原',
431 => '宁夏中卫',
432 => '新疆乌鲁木齐',
433 => '新疆克拉玛依',
434 => '新疆吐鲁番',
435 => '新疆哈密',
436 => '新疆昌吉',
437 => '新疆博尔塔拉',
438 => '新疆巴音郭楞',
439 => '新疆阿克苏',
440 => '新疆克孜勒苏',
441 => '新疆喀什',
442 => '新疆和田',
443 => '新疆伊犁',
444 => '新疆塔城',
445 => '新疆阿勒泰',
446 => '新疆石河子',
447 => '新疆阿拉尔',
448 => '新疆图木舒克',
449 => '新疆五家渠',
450 => '新疆北屯',
451 => '台湾台北市',
452 => '台湾高雄市',
453 => '台湾基隆市',
454 => '台湾台中市',
455 => '台湾台南市',
456 => '台湾新竹市',
457 => '台湾嘉义市',
458 => '台湾台北县',
459 => '台湾宜兰县',
460 => '台湾桃园县',
461 => '台湾新竹县',
462 => '台湾苗栗县',
463 => '台湾台中县',
464 => '台湾彰化县',
465 => '台湾南投县',
466 => '台湾云林县',
467 => '台湾嘉义县',
468 => '台湾台南县',
469 => '台湾高雄县',
470 => '台湾屏东县',
471 => '台湾澎湖县',
472 => '台湾台东县',
473 => '台湾花莲县',
474 => '香港中西区',
475 => '香港东区',
476 => '香港九龙城区',
477 => '香港观塘区',
478 => '香港南区',
479 => '香港深水埗区',
480 => '香港黄大仙区',
481 => '香港湾仔区',
482 => '香港油尖旺区',
483 => '香港离岛区',
484 => '香港葵青区',
485 => '香港北区',
486 => '香港西贡区',
487 => '香港沙田区',
488 => '香港屯门区',
489 => '香港大埔区',
490 => '香港荃湾区',
491 => '香港元朗区',
492 => '澳门花地玛堂区',
493 => '澳门圣安多尼堂区',
494 => '澳门大堂区',
495 => '澳门望德堂区',
496 => '澳门风顺堂区',
497 => '澳门氹仔',
498 => '澳门路环',
);
}

转载时请注明出处及相应链接,本文永久地址:https://www.askaura.com/4709.html


pay_weixin
pay_weixin
微信打赏
pay_weixin
支付宝打赏
感谢您对作者wangquan的打赏,我们会更加努力!    如果您想成为作者,请点我

您必须 登录 才能发表评论!