1

かなり前からこの質問をしようと思っていましたが、問題を説明する適切なタイトルを思い付くことができませんでした (そして、まだできていません)。英語は私の母国語ではありませんし、この概念が何と呼ばれているのかもわかりません。我慢して...

最近まで、データベースから結果を取得するときは、保存されている方法で結果を出力する必要がありました。だから私がしたとき

SELECT name, gender, country FROM contacts

で出力するだけでした

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

国名は、ISO国コードによってデータベースに保存されます。つまり、米国は USA として保存され、ブラジルは BRA として保存されます。これの目的は、他のシステムとの互換性を確保することです。一方、ユーザーはこれらの国コードを扱いたくないので、完全な国名を表示したいと考えています。

同様に、特定の国のすべての連絡先を検索する場合、 ISO コードではなく、完全な国名を検索ボックスに入力できるようにしたいと考えています。

これらの結果にラベル (必要に応じて人間が読める値) を割り当てるにはどうすればよいですか?

フレームワークなしで PHP を使用していますが、MVCの類推 (ビジネス ロジックとプレゼンテーションの分離) に従っています。これはMVCアーキテクチャにどのように適合しますか?

4

1 に答える 1

1

テーブル「contacts」には、列名、性別、国の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'];.
于 2012-09-16T05:36:52.273 に答える