为数据库结果分配标签

时间:2012-09-16 05:22:51

标签: php model-view-controller

我一直想问这个问题很长一段时间,但我不能(并且还没有)提出一个适当的标题来描述问题。英语不是我的母语,我甚至不知道这个概念叫什么。忍受我......

直到最近,当从数据库中获取结果时,我只需要按照它们的存储方式输出它们。所以当我做的时候

SELECT name, gender, country FROM contacts

我只需要用

输出它

echo $result['name'] . " - " . $result['gender'] . " - " . $result['country'];

国家/地区名称按 ISO 国家/地区代码存储在数据库中。这意味着美国存储为美国,巴西存储为BRA。这样做的目的是确保与其他系统的兼容性。另一方面,用户不想处理这些国家/地区代码,他们希望查看完整的国家/地区名称。

同样,在搜索特定国家/地区的所有联系人时,他们希望能够在搜索框中输入完整的国家/地区名称,而不是 ISO代码

如何为这些结果指定标签(如果您愿意,可读取人类可读值)?

我在没有框架的情况下使用PHP但是我遵循 MVC 类比(业务逻辑和表示的分离)。如何适应 MVC 架构?

1 个答案:

答案 0 :(得分:1)

表“联系人”包含列名称,性别,国家/地区ISO代码。表“country_labels”包含国家/地区ISO代码和标签。

MySQL的:

SELECT * FROM contacts INNER JOIN country_labels ON contacts.country=country_labels.country

PHP:

echo $result['name'] . " - " . $result['gender'] . " - " . $result['label'];.