Php 显示每个国家/地区的联系人&;城市

Php 显示每个国家/地区的联系人&;城市,php,mysql,countries,Php,Mysql,Countries,我在一个网站上与不同国家和城市的不同联系人合作 我想实现的是,当访问者访问一个包含法国-巴黎信息的页面时,脚本将在数据库中搜索联系人,并在页面上显示信息 问题是联系人可能有多个国家/城市在其职责范围内 我已经有了国家和城市表。我不想对这些表进行任何更改或添加任何内容 所以我唯一能想到的是: 联系人(表) 联络人 联系人姓名 和其他信息 联系人(表格) 联络人 国家 城市 例如: 月行者-法国-巴黎 月球漫步者-法国-马赛 其他用户-荷兰-乌得勒支 但是这样行吗?还是有其他办法解决这个问题 提前谢

我在一个网站上与不同国家和城市的不同联系人合作

我想实现的是,当访问者访问一个包含法国-巴黎信息的页面时,脚本将在数据库中搜索联系人,并在页面上显示信息

问题是联系人可能有多个国家/城市在其职责范围内

我已经有了国家和城市表。我不想对这些表进行任何更改或添加任何内容

所以我唯一能想到的是:

联系人(表)

联络人

联系人姓名

和其他信息

联系人(表格)

联络人

国家

城市

例如:

月行者-法国-巴黎

月球漫步者-法国-马赛

其他用户-荷兰-乌得勒支

但是这样行吗?还是有其他办法解决这个问题

提前谢谢


p、 美国:语言是PHP和MySql。

您可以用如下所述的方式规范化数据。您将联系人、城市和国家作为单独的数据区域,以避免重复。然后,您有一个表,可以将联系人映射到一对多关系中的城市(一个联系人=多个城市)


[编辑]由于下面的评论,简化了。

我想你在这里有点过火了。几乎从定义上讲,一个城市只存在于一个国家,但也有少数例外主要存在于一个国家。没有必要建立多对多的关系。但同意本的意见,即没有必要与城市和国家建立多对多的关系。非常感谢。有道理。:)
[table_contacts]
  - id
  - name

[table_cities]
  - id
  - name
  - country_id

[table_countries]
  - id
  - name

[table_contacts_cities]
  - id
  - contact_id
  - city_id