Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php 多语言 sql 要怎么写

php 多语言 sql 要怎么写

WBOY
WBOYasal
2016-06-20 12:40:321017semak imbas

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

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn