我正在尝试在数据库中添加多种语言选项。我创建了一个表如下。
我的PHP功能是:
public function Languages(){
$query=mysqli_query($this->db,"
SELECT * FROM languages") or die(mysqli_error($this->db));
while($row=mysqli_fetch_array($query,MYSQLI_ASSOC)) {
$data[]=$row;
}
if(!empty($data)) {
// Store the result into array
return $data;
}
}
所以我也使用以下代码显示结果,但是我得到了空结果:
<?php
$language = $ReSult->Languages();
$userLanguage = 'english';
echo $language['your_family'][$userLangauge];
?>
我知道如果我使用$language['1'][$userLanguage];
然后我得到一个结果,但我不想在这里使用id。有没有办法在不使用ID的情况下显示结果?
答案 0 :(得分:2)
您可以将结果存储在关联数组中:
while ($row = mysqli_fetch_array($query,MYSQLI_ASSOC)) {
$data[$row['lang_key']] = $row;
}
这样,您可以通过其密钥直接访问数据:
echo $language['your_family'][$userLangauge];
答案 1 :(得分:1)
结帐
function getIndex($language , $key)
{
foreach ($language as $row)
{
if (strcmp($row["lang_key"] , $key)==0) {
return $row["id"]
}
}
return null;
}
...
echo $language[getIndex($language , "your_family")][$userLanguage];
答案 2 :(得分:1)
你可以这样试试,
while ($row = mysqli_fetch_assoc($query)) {
$data[$row['tagKey']] = $row;
}