我正在构建一个自定义的CMS,并且我试图通过使用MySQL的列方法创建多语言内容。我没有使用任何框架,它是纯PHP。
这里是我的代码:
<?php
$query = "SELECT * FROM posts";
$result = mysqli_query($connection, $query);
while($row = mysqli_fetch_assoc($result)) {
$title = $row['title'];
}
echo $title;
?>
我成功打印从数据库标题。
现在,如果我加入了新的领域“title_en”和“title_de”更改表的帖子,并添加一个会话
$_SESSION['current_language'] = 'en';
$_SESSION['current_language'] = 'de';
如何创建一个语言切换器和打印标题取决于哪种语言被激活?
编辑:
下面是我试图
<?php
session_start();
if(isset($_GET['lang']) && in_array($_GET['lang'],['en','de'])) {
$lang = $_GET['lang'];
$_SESSION['current_language'] = $lang;
print_r($_SESSION['current_language']);
} else {
$lang = isset($_SESSION['current_language']) ? $_SESSION['current_language'] : 'en';
}
$query = "SELECT * FROM posts";
$result = mysqli_query($connection, $query);
while($row = mysqli_fetch_assoc($result)) {
$title = $row['title_'.$lang];
echo $title;
}
?>
但www.mywebsite.com/lang=de它仍然显示英文名称的代码。
EDIT2
我只是试着www.mywebsite.com/?lang=de和它的正常显示。非常感谢ПавелИванов!
可能的复制网址李名单 - (HTTP [PHP多语言如何切换语言?]://计算器。 com/questions/8004276/php-multilanguage-how-to-switch-languages) – bretterer