2011-06-03 48 views
1

我生成了下面的代碼的下拉菜單。如何在點擊提交後將字段設置爲GET變量?在php生成的表單上設置默認下拉值

<select> 

<?php 
    $sql="SELECT c FROM problems WHERE b='$id'"; 
    $result=mysql_query($sql); 

    $options=""; 

    while ($row=mysql_fetch_array($result)) { 

    $id=$row["c"]; 
    $c=$row["c"]; 
    $options.="<option value=\"$id\">".$c; 
    } 
?> 
     <option value=''>C <?=$options?> </option>  
</select> 
+0

還是隻有一個更好的方法來創建一個從MySQL表下拉? – user780483 2011-06-03 01:21:59

回答

1
<select> 

<?php 
    $sql="SELECT c FROM problems WHERE b='$id'"; 
    $result=mysql_query($sql); 

    $options=""; 

    while ($row=mysql_fetch_array($result)) { 

    $id=$row["c"]; 
    $c=$row["c"]; 
    if($_GET['var'] == $id) 
     echo '<option selected="selected" value=\"$id\">' . $c . '</option>'; 
    else 
     echo '<option value=\"$id\">' . $c . '</option>'; 
    } 
?> 

</select> 

基本思路是與數據庫中的數據比較值獲取數據,如果使用其他條件添加選擇=「選擇」如果條件相匹配。我直接打印字符串,因爲它們以後不會使用。

0

我對你想知道的東西有點困惑。要默認選擇一個選項,請使用該選項的selected="selected"屬性。

如果您想知道如何使用PHP獲取提交的值,您需要將name屬性分配給<select>標籤。但總的來說,你的想法是正確的。

+0

當您使用GET提交文本框時,如果將值設置爲<?php $ _GET ['var'];則在URL中和文本框中看到輸入的信息; ?>即時通訊試圖通過下拉獲得這種效果。然而,我的下拉是非正統的。這是不規則的,因爲它從表中取值。我有兩個問題。我是否最有效地生成下拉菜單,如何從文本框中獲取該值= GET效果? – user780483 2011-06-03 01:30:30