【问题标题】:update database field on submit提交时更新数据库字段
【发布时间】:2025-12-24 16:20:17
【问题描述】:

当管理员在表中勾选一行或多行并单击批准按钮时,该行数据(request_id 是主键)应在数据库字段 is_approved 中更新,并应将“待定”更改为“已批准” is_approved 字段有两个枚举:pending 和approved。 我该怎么做?

<form action = "admin.php" method = "post"> 
<input type="button" name="accept" value="accept" />
<input type="hidden" name="submitted" value="TRUE" />    
</form>

PHP 代码:

if(!empty($_POST['accept'])) {
    $request_id = $_POST['request_id'];

    foreach($request_id as $is_approved) {
     $query = mysql_query("UPDATE request SET is_approved = 'approved' where is_approved =$request_id");
    }
}

【问题讨论】:

  • 使用 $is_approved 更改查询中的 $request_id
  • 注意未定义索引:request_id
  • 你遇到了什么问题
  • 您没有以request_id 作为帖子的表单,您的表单只有submitted
  • request_id 未以形式传递。它应该是一个数组

标签: php html mysql


【解决方案1】:

将您的表单更改为:

<form action = "admin.php" method = "post"> 
<input type="button" name="accept" value="accept" />
<input type="text" name="request_id[]" value=1/>
<input type="text" name="request_id[]" value=2/>
<input type="hidden" name="submitted" value="TRUE" />    
</form>

值应该是你的实际request_id

【讨论】:

  • 不确定如何通过更改此设置,数据库字段将从“待定”更改为“已批准”。这是我试图用来更改该请求 ID 的数据库行的请求 ID 行,以及该行的字段以批准
  • foreach($request_id as $is_approved) { $query = mysql_query("UPDATE request SET is_approved = 'approved' where is_approved =$request_id"); } 你在 PHP 中使用数组吗?