Maison  >  Article  >  développement back-end  >  php 多语言 sql 要怎么写

php 多语言 sql 要怎么写

WBOY
WBOYoriginal
2016-06-20 12:40:321016parcourir

每一个函数我都要判断$_SESSION['language']的值,可以怎么优化?

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";        }    }


回复讨论(解决方案)

即然language是字段的一部分,直接拼接成SQL就行了

你可以优化表,设置一个语言字段,通过$_SESSION['language']取数据:
select content from table where language = $_SESSION['language']
这样不管后面来多少种语言都迎刃而解了,可扩展性好

$sql = "select a_$_SESSION[language] from table";

但需要指定默认值,第一次进入时是没有 $_SESSION['language'] 的
不过你的代码也没有进行处理

#2 的方案是不妥当的
1、冗余量太大
2、不易产生对照

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn