php - 从 mysql 数据库创建动态变量

标签 php mysql

我有一个数据库,其中包含两种语言的一些按钮和图标的名称。 该表称为图标,它有 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/

相关文章:

php - 在登录系统中执行 OOP 风格

php - 如何使用 wp_query 搜索带空格和不带空格的英国邮政编码?

mysql - 根据 3 个表中的状态、ID 和时间分布验证,获取可用用户

mysql - 如何编写 SQL 查询从多个表中获取信息?

php - 多次插入不适用于 INNODB

javascript - 通过 Ajaxrequest.open 从 Javascript 获取变量到 PHP 文件

MySql - 将多个表连接到主表时出现重复列

mysql - 如何将所有行的排序规则从 latin1_swedish_ci 更改为 utf8_unicode_ci?

mysql - SQL Zoo 中的最后一个查询,SELECT 教程

java - 使用 Java 和 PHP 的 BCrypt,发送加密密码并对其进行解码