【问题标题】:How to relate city,state,country to user profile's table?如何将城市、州、国家与用户个人资料表关联起来?
【发布时间】:2012-08-04 06:34:04
【问题描述】:

有趣的是,以下问题都没有帮助我:
How to organize country/state/city browsing in MVC
City Country State Database
Country/City/state validation
Country/State/City Database?
How to do a city/state/country code lookup based on zip/country input by the user?
City, State, Zip, Country list/script for sql server table

我查看了a question about database design,这在某种程度上很有帮助,但有些问题没有得到解答。我有 3 个表如下:

Country ( CountryID, CountryCode, CountryName )
Region  ( RegionID, RegionCode, RegionName, CountryID )
City    ( CityID, CityCode, CityName, RegionID )

我在用户表中有 CityID。问题是如果用户没有状态怎么办?在我的情况下,我应该如何使用下拉菜单?
在我的情况下,使用基于 ajax 的文本框是不可能的。

【问题讨论】:

    标签: database geolocation


    【解决方案1】:

    如果是,您是否尝试根据 cityID 访问国家/地区列表

    SELECT Country.* FROM Country
    LEFT JOIN Region on Region.CountryID = Country.CountryID
    LEFT JOIN city on Region.RegionID = city.RegionID
    WHERE city.CityID=44
    

    将为城市生成国家。这是你想要的?

    生成的国家/地区可用于在下拉列表中设置所选国家/地区。

    也可以使用 CityID 对区域进行第二次查询,并使用结果自动为城市选择正确的区域。

    【讨论】:

    • 不,首先这是完成这项工作的非常非常低效的方式,因为您的查询从所有 3 个表中获取所有可能的记录。用户应该选择一个国家,然后是一个州,最后是一个城市。上面的查询是无用的,因为没有人在一个下拉列表中列出世界上所有可能的城市并基于该选择适当的状态。简而言之Country->State->City。这里有些国家没有城市?如何解决这个问题?
    • 好的,我理解了这个问题,因为您只设置了 cityID 可以使用并且需要倒退。从该 ID 加载其他组合框的内容。可以用ajax做下拉吗?
    猜你喜欢
    • 2017-10-20
    • 2011-01-14
    • 1970-01-01
    • 2011-01-21
    • 1970-01-01
    • 2013-02-08
    • 1970-01-01
    • 2014-09-08
    • 1970-01-01
    相关资源
    最近更新 更多