php - 用 PHP 处理 HTML 复选框表单

标签 php html forms

我正在生成一个基于 HTML 表单中的 mysql 数据的 list 。单击提交按钮时,php 脚本会更改 mysql 数据库中的“完成”字段。如何使用长度可变的列表一次处理多个项目?目前,当我点击两个以上的框时,只有一个得到处理。

这是 HTML 表单:

<form method='post' action='listprocessor.php'>
<input style="float:right" type='checkbox' name='complete_goal' value='61'>Milk</input>
<input style="float:right" type='checkbox' name='complete_goal' value='117'>Eggs</input>
<input style="float:right" type='checkbox' name='complete_goal' value='118'>Bread</input>
<input style="float:right" type='submit' name='submitbtn' value='Completed'></input>   
</form>

这是简化的 php:

$_POST['submitbtn'];

$completed_goal = $_POST['complete_goal'];

$query = mysql_query("UPDATE notes SET complete='1' where note_id='$completed_goal'");

最佳答案

您的输入元素名称应该是一个数组,例如complete_goal[] .

<input style="float: right;" type="checkbox" name="complete_goal[]" value="61">Milk</input>

您可以使用 WHERE note_id IN (<?php echo implode( ',', $_POST['completed_goal'] ); ?>) 在单个查询中更新它们.

$query = mysql_query( "UPDATE `notes` SET `complete` = '1' WHERE `note_id` IN (" . implode( ',', $_POST['completed_goal'] ) . ")" );

关于php - 用 PHP 处理 HTML 复选框表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8813386/

相关文章:

php - 使用 AJAX 单击将 mysql 值加一?

css - Ruby on Rails 中用户的个人 CSS 样式表

php - 获取重力形式的输入值

html - 仅限 Chrome 的表单标签错误

php - 调整大小后的图像未保存

javascript - 如何在网页上检索时从数据库中追加数据?

javascript - 具有多个参数和 e.target 的事件处理程序

html - 我怎样才能让我的 div 留在原地?

php - 查询返回过于迟钝的结构。为什么?

PHP、mysql 和两个数据库 - 使用不同的架构从第一个数据库中的表更新第二个数据库表中的某些行