我有一个数据库填充下拉列表。
$options4="";
while ($row = mysql_fetch_array($result)) {
$id=$row["Client_Code"];
$thing=$row["Client_Full_Name"];
$options4.="<OPTION VALUE=\"$id, $thing\">".$thing;
}
?>
<FORM name="form" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<SELECT NAME="ClientNamefour" OnChange="this.form.submit()">
<OPTION VALUE=0>Client
<?php echo $options4?>
</SELECT>
</FORM>
一旦更改,它会从数据库中提取客户端名称并显示一些信息,可以填写一个表单以将更多信息插入数据库。填写完该表单后,此页面会将信息发送到另一个页面,其中包含将数据插入数据库的代码。然后我在该代码的末尾使用标题将其发送回此页面。但是当它回到这个页面时,我希望它回到他们之前选择的客户端而不是空白屏幕。那么如何让数据库填充列表使用php自动回归到之前的选择?
答案 0 :(得分:0)
您需要做的就是修改构建选项的方式,以便在创建选定的选项时发现,然后为其添加SELECTED属性......
//obtain current value from GET, POST or COOKIE value...
$current=isset($_REQUEST['ClientNamefour'])?$_REQUEST['ClientNamefour']:'';
while ($row = mysql_fetch_array($result)) {
$id=$row["Client_Code"];
$thing=$row["Client_Full_Name"];
$value="$id, $thing";
//figure out if we should select this option...
$sel=($value==$current)?'SELECTED':'';
$options4.="<OPTION $sel VALUE=\"$value\">".$thing;
}
保持值持久的一种方法是将其存储在会话中,例如处理表单时
//assuming session_start() has been called...
if (isset($_POST['ClientNamefour']))
$_SESSION['ClientNamefour']=$_POST['ClientNamefour'];