使用PHP处理HTML复选框表单 [英] Processing HTML checkbox forms with PHP

查看:170
本文介绍了使用PHP处理HTML复选框表单的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在基于HTML格式的mysql数据生成清单.单击提交按钮后,PHP脚本将更改mysql数据库中的完成"字段.如何使用长度可变的列表一次处理多个项目?当前,当我单击两个以上的框时,只有一个被处理.

I am generating a checklist based on mysql data in an HTML form. When the submit button is clicked the php script changes the "complete" field in the mysql database. How can I process more than one item at a time with lists that have variable lengths? Currently when I click more than two boxes, only one gets processed.

这是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[].

Your input element name should be an array, such as 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'] ); ?>)在单个查询中全部更新它们.

You can update them all in a single query using a 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处理HTML复选框表单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆