通过单击下拉选择更新MySql数据行,但不提交


Update MySql data row by clicking on dropdown selection with no submit

我很难设置它。我想通过单击其中一个下拉选项来更新具有相同"Id"的行的查询"Approval"。

这是HTML代码:

<form action="" method="post">
    <div class="dropdown">
       <input type="hidden" name="sickId" value="<?php echo clean($rows['sickId']); ?>" />
          <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
             <?php echo clean($rows['sickApproval']); ?>
             <span class="caret"></span>
          </button>
        <ul class="dropdown-menu" aria-labelledby="dropdownMenu1" name="approveChange">
            <li><a href="#" value="Pending">Pending</a></li>
            <li><a href="#" value="Approved">Approved</a></li>
            <li><a href="#" value="Not Approved">Not Approved</a></li>
        </ul>
    </div>
</form>

这是我的PHP:

//Update Approval status

if (isset($_POST['update']) && $_POST['update'] == 'update') {
        $sickApprovalchange = htmlspecialchars($_POST['approveChange']);
        $sickId = htmlspecialchars($_POST['sickId']);
$stmt = $mysqli->prepare("UPDATE
                                    sickleave
                                SET
                                    sickApproval = ?
                                WHERE
                                    sickId = ?"
        );
        $stmt->bind_param('ss',
                                $sickApprovalchange,
                                $sickId
        );
        $stmt->execute();
        $stmt->close();

}

我是一个编程初学者,很难找到正确的解决方案。这是一个场景:

单击下拉菜单后,有3个选项:待定、已批准、未批准。

如果我单击其中一个选项,数据查询将相应地自动更新。

一条规则是,要更新的数据查询需要与HTML开头匹配sickId的行相同。

非常感谢程序员或程序员的帮助。

您可以使用ajax来实现这一点。制作javascript函数,当点击href时会触发该函数。从中获取值,并使用ajax发送到php脚本,然后从该脚本中获取数据。