首页 >后端开发 >php教程 >php 多语言 sql 要怎么写

php 多语言 sql 要怎么写

WBOY
WBOY原创
2016-06-20 12:40:321039浏览

每一个函数我都要判断$_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、不易产生对照

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn