0

我在 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'];

然后通过使用函数将值存储在数据库中。

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

4

6 回答 6

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 或数据库中加载值,然后执行检查以将“选定”值回显到该选项字段中

于 2013-02-27T11:22:30.197 回答
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>
于 2013-02-27T11:22:48.400 回答
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>';
}
于 2013-02-27T11:22:53.163 回答
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>
于 2013-02-27T11:23:08.837 回答
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>

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

于 2013-02-27T11:23:49.757 回答
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 是为该用户存储的值。

于 2013-02-27T11:24:13.893 回答