php - 使用 php 在一页上实现多阶段表单

标签 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>

最佳答案

在 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;
}

关于php - 使用 php 在一页上实现多阶段表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32897892/

相关文章:

php - 学说多对多关联 prePersist 数据复制

javascript - 图片随机播放

javascript - $dialogs.create 在我的网站上显示一个弹出表单,但定义弹出窗口的代码具有格式限制

mysql - 在 MySQL 中加载 CSV 文件或多个 INSERT 命令哪个更快?

php - 我需要帮助将 PHP 脚本的输出显示到图像顶部的 DIV 标记中

php - 如何在 WooCommerce 中找到运输类别 ID?

php - 我想使用 MySQL 查询结果并将其用作变量字符串(MySQL、PHP)

mysql - sql内连接删除

php - "Class X extends Y (abstract), Y implements Z (interface). "无法调用接口(interface) Z 的抽象方法”

javascript - "All the digits should not be same for a mobile number"的正则表达式