当我从数据库表中选择下拉值时,页面刷新和值返回到选择选项

时间:2012-11-12 18:48:51

标签: php mysql

当我从数据库表中选择下拉值然后刷新页面时,该值返回到选择选项

这是我的代码:

<select name="customers" id="customers" style="width:150px;"  >
    <option value=""><--Select--></option>
    <?php 
        $query=mysql_query("SELECT cn FROM customerinformation order by id");
        while($row=mysql_fetch_assoc($query))
        {
             $val2=$row['cn'];
    ?>
        <option  value="<?=$val2;?>"
            <?if ($_REQUEST['cn'] == $val2){ echo "selected='selected'"; }?>> 
            <?=$row['cn'];?> 
        </option>
    <?php }?>
</select>

请告诉我或指导我在哪里做错了。提前谢谢!

2 个答案:

答案 0 :(得分:1)

我不明白你的问题,但我认为你应该把$ _REQUEST ['customers']而不是$ _REQUEST ['cn'](因为你的选择的名字) 例如:


<select name="customers" id="customers" style="width:150px;"  >
<option value=""><--Select--></option>
  <?php

  $query=mysql_query("SELECT cn FROM customerinformation order by id");
  while($row=mysql_fetch_assoc($query)) {
      $selected = ($_REQUEST['customers'== $row['cn']?'selected="selected"':'');
      echo '<option value="'.$row['cn'].'" $selected>'.$row['cn'].'</option>';
  }

  ?>
</select>

答案 1 :(得分:0)

一旦用于评估,您需要unset() $_REQUEST['cn']中的值

    <? if ($_REQUEST['cn'] == $val2) { 
        echo "selected='selected'"; 
        unset($_REQUEST['cn']); 
    }?> > <?=$row['cn'];?> </option>