我有一个数据库,其中包含两种语言的一些按钮和图标的名称。 该表称为图标,它有 4 个字段(id、abbr、lang1、lang2),其中 abbr 是我要创建的变量的名称,如果语言设置为 lang1,则将单元格 lang1 分配给该变量。
表格示例:
id abbr lang1 lang2
-----------------------------------------------
1 air AirConditioner Condizionatore
2 pool Pool Piscina
我知道我可以用类似的东西做到这一点
foreach (array('wifi','fridge','air','balcony','kitchen','tv','bathroom','pool') as $varname) {
if ($$varname==1)
{
SQL Select to get the information for each field
}
但我想如果我可以动态地做到这一点会更好,以防我在表中添加额外的行
期望的结果是为每一行自动创建类似的内容
if ($lang==lang1)
{
$air=$row['lang1'];
$pool=$row['lang1'];
}
else
{
$air=$row['lang2'];
$pool=$row['lang2'];
}
我搜索过是否有人以前遇到过这个问题,但找不到任何对我的情况有用的东西,所以欢迎任何帮助。
谢谢
最佳答案
如果我的意思是正确的 $lang
是 1 或 2,此代码可能会有所帮助。
$language = 'lang'.$lang; // creates lang1 or lang2
$result = mysql_query("SELECT * FROM icons;");
while ($row = mysql_fetch_assoc($result))
{
$varname = $row['abbr'];
$$varname = $row[$language];
}
关于php - 从 mysql 数据库创建动态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23453745/