2012-02-26 119 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']}";