我该如何转换国家/地区代码?

时间:2011-06-06 23:46:11

标签: php oop

我根据ISO 3166 3个字母的国家/地区代码存储带国家/地区代码的地址。如果我想显示未缩写的格式,那么进行这样的转换的最佳OO方式是什么?

3 个答案:

答案 0 :(得分:3)

这一切都归结为JOIN:您需要有一个countries表格,其中国家/地区代码为主键,另外还有一个name列,并将其加入原始列表中表。这只是基本的数据库设计,与OOP无关。

另一种方法是做两个查询,这只有在你需要不超过少数几个国家时才可行 - 否则,查询数量会急剧上升。

这取决于你的ORM如何将它与你的OOP代码集成;您可能必须在视图中包装已连接的查询(这可能是一种很好的做法)。

答案 1 :(得分:2)

创建一个名为countries的表,它将存储3个字母的代码(可以是主键),然后存储全名

因此表结构可能如下所示:

short_name | full_name

OR 您可以创建一个数组,其中包含短名称作为键,全名作为值 类似的东西:

$countries['USA'] = 'United States of America';
$countries['JPN'] = 'JAPAN';
....

然后查看使用此数组的全名,该数组可以在包含文件中,您可以轻松地重复使用。

答案 2 :(得分:1)

在您的数据库中包含具有完整标题和国家/地区代码的国家/地区。

然后只查询您的数据库。你可以设计一个对象来帮助你。