PHPの多言語SQLの書き方

WBOY
リリース: 2016-06-20 12:40:32
オリジナル
1018 人が閲覧しました

関数ごとに $_SESSION['言語'] の値を判断する必要があります。どのように最適化できますか?

public function getA(){        if($_SESSION['language']=="tc"){            $sql="select a_tc from table";        }elseif($_SESSION['language']=="en"){            $sql="select a_en from table";        }    }    public function getB(){        if($_SESSION['language']=="tc"){            $sql="select b_tc from table";        }elseif($_SESSION['language']=="en"){            $sql="select b_en from table";        }    }
ログイン後にコピー


ディスカッションへの返信 (解決策)

言語はフィールドの一部であるため、SQL に直接接続するだけです

テーブルの最適化、言語フィールドの設定、$_SESSION[' language'] を介したデータの取得が可能です:

select content from table where language = $_SESSION[' language']
この方法では、問題はありません後からいくつの言語が来ても、それは簡単に解決されます。優れたスケーラビリティ

$sql = "select a_$_SESSION[language] from table";
ログイン後にコピー
ただし、入力時にデフォルト値を指定する必要があります。初めて
しかし、あなたのコードはそれを処理しません

#2 の解決策は不適切です
1. 冗長性の量が大きすぎます
2. 比較を生成するのが困難です

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート