我有一个FOREACH循环,它没有拾取数组中的第一个元素。
我有一份提交表格,其中包含以下内容:
<input name="repaired[<?php echo $row_Faults['UniqueID']; ?>]" type="checkbox" id="repaired" value="1" class="required"/>
如果我回显$ _POST ['repair']数组,我会看到两条记录,但是当代码运行时,第一条记录没有被处理。
foreach($_POST['repaired'] as $uniqueID => $repairedValue){
$updateSQL = sprintf("UPDATE ".$Hist." SET Status=%s, LettoStatus=%s WHERE UniqueID= '".$_POST["UniqueID"]."'",
GetSQLValueString($_POST['Status'] = $StatusCode , "int"),
GetSQLValueString($_POST['LettoStatus'] = $LettoCode , "int"));
mysql_select_db($database_iMaint, $iMaint);
$Result1 = mysql_query($updateSQL, $iMaint) or die(mysql_error());
}
任何人都可以看到我出错的地方。
非常感谢你的时间。
答案 0 :(得分:3)
您在foreach中初始化了$uniqueID
变量,但在$ updateSQL中仍然使用$_POST["UniqueID"]
所以您只需要更改$updateSQL
$updateSQL = sprintf("UPDATE ".$Hist." SET Status=%s, LettoStatus=%s WHERE
UniqueID= '".$uniqueID."'",
GetSQLValueString($_POST['Status'] = $StatusCode , "int"),
GetSQLValueString($_POST['LettoStatus'] = $LettoCode , "int"));