2013-09-26 36 views
-1

這是我的更新檔案頁面。我想設置我的下拉菜單中的值取決於我的數據庫,請檢查該從數據庫中設置選擇下拉值

<select id="id" name="txtMInit"> 
    <option value="" selected>--</option> 
     <?php 
     $i = range('A','Z'); 
     foreach($i as $val){ 
      echo "<option id='".$val."' 
      <?php if($val==$row['midI']){echo "selected";}?>>" .$val."."."</option>"; 
     } 
     ?> 
</select> 
+0

難道這在某種程度上不工作?請澄清,因爲我們無法爲您調試。 – David

+1

您在PHP標籤內嵌入了一個PHP標籤,該標籤將會出錯。 – Welsh

+0

你到底在問什麼?任何錯誤?我的意思是,幫助我們幫助你。 – Fluffeh

回答

1

這將解決這個問題:

<?php 
$i = range('A','Z'); 
foreach($i as $val){ 
    echo "<option id='".$val."'"; 
    if($val == $row['midI']) echo " selected"; 
    echo ">".$val."</option>"; 
} 
?> 
2

我看到這行錯誤:

echo "<option id='".$val."' <?php if($val==$row['midI']){echo "selected";}?>>" .$val."."."</option>"; 

這應該有幫助,並且是簡明由於使用Ternary operator

echo "<option id='" .$val ."'" .($val == $row['midI'] ? " selected='selected' " : ' ') .">" .$val ."</option>"; 
+0

非常感謝你 – user2805941

+1

沒問題。如果我的答案解決了您的問題,請確保您接受此問題,以便可能會對可能遇到類似問題的其他人有所幫助。乾杯。 。 。 – Uours

+1

@Emilio Gort感謝您將鏈接插入三元運算符。 – Uours

0

這裏的錯誤

echo "<option id='".$val."' <?php if($val==$row['midI']){echo "selected";}?>>" .$val."."."</option>"; 

將其更改爲

$selected = ""; 
if($val==$row['midI']) {$selected="selected";} 
echo "<option id='".$val."' ".$selected." >" .$val."</option>"; 
+0

user2805941,當你開始瞭解流程時,你可以切換到更優化的表達式,比如($ val == $ row ['midI']?「selected ='selected'」:'') –

+0

爲什麼三元「更優化「? – James

+0

,因爲它佔用更少的空間 –