php - 如何在循环中使用表单及其 php 处理
问题描述
我的数据库中有一个表,称为adminapprove
它具有各种字段。我使用 php 选择所有数据并将其显示在表格中。
我希望其中一列有 2 个按钮(批准和拒绝)。我为此使用了一个基于https://stackoverflow.com/a/40958782/10217754的表格
// $data contains the result of sql query (select *)
while($row = $data->fetch_assoc())
{
echo "
// Each row has multiple fields along with this
<tr><td>
<form method=\"post\">
<input type=\"submit\" value=\"approve\">
<input type=\"submit\" value=\"deny\">
</form>
</td></tr>";
if($_SERVER['REQUEST_METHOD'] == "POST" && isset($_POST['approve'])) {
approve($conn, $row);
unset($_POST['approve']);
}
if($_SERVER['REQUEST_METHOD'] == "POST" && isset($_POST['deny'])) {
deny($conn, $row);
unset($_POST['deny']);
}
// code for closing table tag echo </table>
}
这是表单后的 php 脚本(在 while 循环内)
我的目标是,每当为某些特定行选择拒绝/批准时,仅应根据所选选项更改该数据(行)。
当前发生的情况是,无论我选择哪一行,表中的最后一行都会根据选择的选项进行更改。
我是 PHP 新手,认为循环的工作方式与 C++ 中的类似 - 所以我只在循环内调用函数,一旦函数完成执行,我就会取消设置变量,以便下一行不受影响。但这显然不是这样(至少我是这么理解的,如果我错了,请纠正我)。那么我错过了什么?我怎样才能做到这一点?
提前致谢。
解决方案
推荐阅读
- python - 最大的字符串,什么是可能的
- laravel - 在 laravel 中增加 max_execution_time
- javascript - 检查 JSON 对象上的键
- asp.net-mvc-5 - 如何通过登录、授权、身份验证使用会话?
- php - PhpStorm + Docker + Xdebug + DB SSH tunnel
- c++ - CPU缓存理解
- javascript - Discord Code - 从文件夹发送随机图像
- f# - 如何在 C# 中实现 F# 高阶函数?
- c# - 通过三个点绘制一个三角形,已知坐标包含在三角形内
- python - 使用python递归查找文件