[英]show selected value from dropdown
嗨,我一直在處理一個表格,其中有一個下拉菜單,它的值來自數據庫。 我的問題是,提交表單后,它不顯示所選的值。 可能是什么問題?
<select name="professional" />
<option value="">Choose one</option>
<?php
$result2 = mysql_query("SELECT * FROM professional");
while($row2 = mysql_fetch_array($result2))
{
$prc = $row2['name'];
$prof = $row2['prcno'] ."\t"."|\t". $row2['name'] ."\t"."|\t".$row2['profession'];
echo "<option value ='$prc'>$prof</option>";
}
?>
</select>
<select name="professional" disabled/>
<option value="">Choose one</option>
<?php
$result2 = mysql_query("SELECT * FROM professional");
$i=0;
while($row2 = mysql_fetch_array($result2))
{
$prc = $row2['name'];
$p1[$i] = $prc;
$prof = $row2['prcno'] ."\t"."|\t". $row2['name'] ."\t"."|\t".$row2['profession'];
$p2[$i] = $prof;
if($_POST['professional'] == $p1[$i])
{
echo "<option selected value ='$p1[$i]'>$p2[$i]</option>";
}
else
{
echo "<option value ='$p1[$i]'>$p2[$i]</option>";
}
}
?>
</select>
在我看來,您並沒有增加$ i,因此您在while循環的每次迭代中都繼續覆蓋$ p1 [0]和$ p2 [0]。
因此,請在循環的開頭或結尾添加$ i ++-或將它們的全部使用放到數組($ p1和$ p2)中,並像在第一個代碼塊中一樣使用$ prc和$ prof-或你需要他們的東西嗎?
另一件事,嘗試刪除value和='$ p1 [$ i]'之間的空格-但我不確定這是否是一個問題。
嘗試
selected="selected"
代替
selected
將這些行更改為
echo "<option selected value ='<?php echo $p1[$i]; ?>'><?php echo $p2[$i]; ?></option>";
並且不要忘記增加$ i
希望它會有所幫助 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.