Home  >  Article  >  Backend Development  >  如何获取省份和城市

如何获取省份和城市

WBOY
WBOYOriginal
2016-06-13 12:10:181231browse

怎么获取省份和城市?
id pid paths  pro  city
1   0   0     中国 
2   1   1,2   湖南
3   1   1,3   湖北
4   2   1,2,1 湖南  长沙
5   2   1,2,2 湖南  娄底
6   3   1,3,1 湖北  武汉

最后结果:

湖南   长沙  娄底
湖北   武汉

忙了一天晕了,好难弄


------解决思路----------------------

select pro, group_concat(city order by paths) as city<br />  from表<br />  where city!=''<br />  group by pro<br />
<br />pro city <br />湖北 武汉 <br />湖南 长沙,娄底 <br />

------解决思路----------------------
1、你展示的数据和结果没有体现出无限分类
2、你没有说明查询的依据是什么
3、在 邻接列表算法中,并不需要冗余的 paths 列
    递归和不递归的算法,精华区都有
4、你的 paths 列含义不清,尤其是表示 ctiy 层次的值
5、按我国的行政区划标准,只有 省、市、县、乡 4个层次
加上 国家和村,也就是6个层次,不能说是无限分类,并且变化的概率很小
所以应按 预排序遍历树算法 组织数据

------解决思路----------------------
你是不是想这样体现无限循环的。

id pid paths  pro  city
1   0   0,     中国 
2   1   1,2,   湖南
3   1   1,3,   湖北
4   2   1,2,4, 湖南  长沙
5   2   1,2,5, 湖南  娄底
6   3   1,3,6, 湖北  武汉

取湖南省下的所有市

SELECT `city` FROM  `pro` WHERE instr(`paths`,'1,2,')

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn