PHP下拉粘贴

时间:2010-01-06 13:42:57

标签: php

我有一个数据库填充下拉列表。

$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自动回归到之前的选择?

1 个答案:

答案 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'];