2012-02-26 125 views
0

总noob,无法使用变量循环遍历行。 我想打印header_en列的内容。所以我:使用变量循环遍历PHP中的行

设置$langen,连接到数据库,并选择*

然后:

while($row = mysql_fetch_array($result)) { 
    echo "<h3>Headline is: $row['header_$lang]</h3>"; 
    echo "<p>Author: $row[author]</p>"; 
} 

我一直在寻找了几个小时,试图围绕$lang可变串联,各种东西... 没有运气。我的语法fu还没有那么强大。

任何指针?

+0

我相信下面的答案已经解决了您的问题,如果是,请将其中一个标记为已回答 – 2012-02-26 18:29:48

回答

2

尝试

echo "<h3>Headline is: " . $row['header_'.$lang] . "</h3>"; 

甚至

$headerLanguage = 'header_'.$lang; 
while($row = mysql_fetch_array($result)) { 
    echo "<h3>Headline is: " . $row[$headerLanguage] . "</h3>"; 
    echo "<p>Author: $row[author]</p>"; 
} 
+0

非常感谢!埃德的解决方案也适用,但马克在平局中速度更快。 对于任何人挣扎:我的错误是失踪的最后。 – ThomasH 2012-02-27 09:59:59

1

也许你需要

echo "<h3>Headline is: ".$row['header_'.$lang]."</h3>"; 
echo "<p>Author: ".$row['author']."</p>"; 
+0

修复您的第一个变量名称;)您错过了“_”符号。 – Liyali 2012-02-26 18:14:43

+0

糟糕。干杯。编辑 – 2012-02-26 18:27:11

0

如果在PHP中使用引号,你需要知道这一点:

echo 'single quotes are faster, but dont see variables ' . $variable; 
echo "double quotes can see them like so: $variable"; 
echo "to show array in doble quotes use brackets {$array['key']}";