[英]Multiple Rows Update with same form names in PHP
我再次陷入PHP,并具有以下更新代码。 这有效,但仅适用于插入的最后一个? 我需要更新所有的grid id。 我以为将[]添加到不唯一的表单域中允许PHP将其解析为数组,但仍将其视为一个域?
我的HTML我有:
<input type="hidden" name="gritemid[]" value="<?PHP echo $row2['gritemid']; ?>">
<input type="text" name="grqty[]" id="grqty[]" value="" />
以下PHP代码
if(isset($_POST['storageloc']))
{
//Set the GRQTY to subtract from the Orderqty on each item in the list if selected
// find out how many records there are to update
$size = count($_POST['gritemid']);
// start a loop in order to update each record
$i = 0;
while ($i < $size) {
// define each variable
$gritemid= $_POST['gritemid'][$i];
$grqty= $_POST['grqty'][$i];
if ($grqty > "0") {
// do the update and print out some info just to provide some visual feedback
$query = "UPDATE gr_items SET orderqty = orderqty - $grqty WHERE gritemid = '$gritemid' LIMIT 1";
mysql_query($query) or die ("Error in query: $query");
}
++$i;
}
mysql_close();
首先,在将后置变量放入查询之前,您确实应该对其进行一些验证/清除。 由于您使用的两个变量都似乎是整数,因此我建议使用intval()
-
// define each variable
$gritemid = intval($_POST['gritemid'][$i]);
$grqty = intval($_POST['grqty'][$i]);
如果将对mysql_query()的调用替换为print($query);
您看到期望的多个查询了吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.