使用php在一个页面上的多阶段表单

时间:2015-10-01 22:35:52

标签: php html mysql

我正在尝试创建一个表单,向用户显示一个选项下拉列表(列表将选择公司中的某个部门),然后一旦他们做出选择并点击提交,同一页面出现一个新的下拉列表,用于选择工作人员。这些工作人员只属于被选中的部门。一旦他们选择了工作人员并点击提交,就可以打开一个新的页面,可以打开该工作人员的详细信息。

我坚持的区域是如何在第一次选择完成后使第二个选择出现在同一页面上。

这是我正在使用的代码。这让我得到了我的第一个下拉列表,它从相关数据库表中提取部门列表并填充下拉列表。我需要有关提交按钮的操作的帮助以获取下一个下拉列表:

<form action="<WHAT DO I PUT HERE?>" method="post">
    <Name='deptselect'>
    <select name="deptselect">
        <?php
        $SQL="SELECT name_of_dept FROM department where ID >= '1'";
        $result = mysql_query($SQL);
        while ($sqlrow=mysql_fetch_array($result))
        {
            $sqldept=$sqlrow["name_of_dept"];
            echo "<option>
                  $sqldept
                  </option>";
        }
        ?>
    </select>

1 个答案:

答案 0 :(得分:0)

在HTML5中,您可以将action属性保留在form元素之外,它将提交到同一页面。

至于处理用户所在的步骤,可能建议使用隐藏的表单元素来跟踪操作。像这样:

<form>
    <!-- All other form data here -->
    <input type="hidden" name="status" value="1">
</form>

然后,您可以在用户完成步骤时逻辑地确定/更新状态。也许是一个简单的switch语句来显示适当的下拉列表。也许是这样的:

switch ($_POST['status']) {
   case 1: // Step 1 of the form
       break;
   case 2: // Step 2 of the form...and so on
       break;
}