2013-11-01 53 views
0

我想從php變量設置HTML下拉菜單。我給你我的代碼,所以你可以看到我想要做的:從PHP變量設置HTML下拉選項

<?php 
$html_table = ' 
<table border="0" cellspacing="0" cellpadding="0"><tr>'; 
while($arr = pg_fetch_array($result1)) 
{ 
$html_table .= "<tr><td> $arr[0] </td></tr>";       
} 
$html_table .='</tr>'; 
?> 

<p> 
<select name="db" size="1"> 
<option> $html_table </option> #### <- that is my question, how to get that working 
</select> 
</p> 

我希望你明白我想做什麼。如果你知道更好的方法,讓我知道。 乾杯

+2

你不能把一個表中的'

回答

4
<?php 
$options = ''; 
while($arr = pg_fetch_array($result1)) { 
    $options .= '<option>'.$arr[0].'</option>';       
} 
?> 

<p> 
<select name="db" size="1"> 
    <?php echo $options; ?> 
</select> 
</p> 
+0

謝謝,但由於某種原因,它不起作用... –

+0

你是什麼意思?選項不顯示? – speccode

+0

是的,很抱歉,應該提到的是......沒有選項可以在下拉菜單中看到 –

0

只需將$html_table替換爲<?php echo $html_table; ?>,您就很好 - 從PHP的角度來看就是這樣。正如其他人所指出的那樣,HTML當然是無效的。

-1

因此請設置選項元素這樣

<option value="<?php echo $html_table; ?>"><?php echo $html_table; ?></option> 

才知道,一個選項不能被一個表。

0

第一:你沒有關閉你的<table>標籤。

第二:不能將<table>標籤粘貼到<select>。您應該放置一系列元素,每個元素都有一個數組元素。

第三:要打印PHP變量,你應該這樣做:

<option><?php echo $html_table; ?></option> 

但同樣的:它會破壞你的HTML,因爲表不能在裏面選擇選項。 最好的解決辦法是:

<select name="db" size="1"> 
    <?php while ($arr = pg_fetch_array($result1)): ?> 
     <option><?php echo $arr[0]; ?></option> 
    <?php endwhile; ?> 
</select> 
相關問題