2011-06-03 47 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