PHP通过FOREACH循环循环

时间:2017-01-30 20:49:50

标签: php

我有一个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());
}

任何人都可以看到我出错的地方。

非常感谢你的时间。

1 个答案:

答案 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"));