下拉列表php

时间:2013-02-27 11:19:41

标签: php html-select

我在php中有个人资料页面供用户设置他的个人资料。个人资料页面提示用户设置性别。这是代码:

<form action='database.php' method=post>
<select name="myvalue">
  <option value=" ">--select--</option>
  <option value="male">male</option>
  <option value="female">female</option>
</select>
<input type=submit>
</form>

用户选择性别后,以下代码获取选择

$myvalue=$_POST['myvalue'];

然后使用函数存储数据库中的值。

下次用户将访问其个人资料页面时,我希望下拉列表显示之前选择的值。例如,假设用户在第一次创建他的个人资料时选择性别为“男性”。如果他再次访问个人资料页面,则下拉列表必须自动为选定值,值为“男性”。

6 个答案:

答案 0 :(得分:0)

要将选项字段设置为默认选项,您可以使用selected关键字

<select name="myvalue">
  <option value=" ">--select--</option>
  <option value="male" selected>male</option>
  <option value="female">female</option>
</select>

如果您使用xml文档类型,则必须使用

<select name="myvalue">
  <option value=" ">--select--</option>
  <option value="male" selected="selected">male</option>
  <option value="female">female</option>
</select>

由您为该用户从cookie或数据库加载值,然后执行检查以将“选定”值回显到该选项字段

答案 1 :(得分:0)

试试这个:

<?php 
   $gender = /// fetch value from database
?>
<form action='database.php' method=post>
<select name="myvalue">
  <option value=" ">--select--</option>
  <option value="male" <?php if($gender == "male"){?> selected="selected" <?php }?>>male</option>
  <option value="female" <?php if($gender == "female"){?> selected="selected" <?php }?>>female</option>
</select>
<input type=submit>
</form>

答案 2 :(得分:0)

做这样的验证。

$val = value_from db;
if($val == "male") {
     echo '<option value="male" selected="selected">male</option>';
} elseif($val == "female") {
     echo '<option value="female" selected="selected">female</option>';
}

答案 3 :(得分:0)

只需检查值并在html中显示selected =“selected”

<?php
$value = $_POST['myvalue'];
?>
<form action='database.php' method=post>
<select name="myvalue">
  <option value=" " <?php echo $value==' ' ? 'selected="selected"' : ''; ?> >--select--</option>
  <option value="male" <?php echo $value=='male' ? 'selected="selected"' : ''; ?> >male</option>
  <option value="female" <?php echo $value=='female' ? 'selected="selected"' : ''; ?> >female</option>
</select>
<input type=submit>
</form>

答案 4 :(得分:0)

这样的事情:

<form action='database.php' method=post>
<select name="myvalue">
  <option value=" ">--select--</option>
  <option value="male" <?php echo $gender=="male"?"selected":""; ?>>male</option>
  <option value="female"  <?php echo $gender=="female"?"selected":""; ?>>female</option>
</select>
<input type=submit>
</form>

但更好的方法是使用一个像样的模板系统。

答案 5 :(得分:0)

将所选属性添加到选项

<select name="myvalue">
<option value=" ">--select--</option>
<?php
$selected = 'selected="selected" ';
foreach(array('male', 'female') as $v){
 echo '<option '.(($v==$dbgender)? $selected : '').'value="'.$v.'">'.$v.'</option>';
}
?>
</select>

$ dbgender是为该用户存储的值。