0

我正在尝试从传递 ID 和详细信息字段的表单创建查询,帖子数组如下所示:

array(2) { 
["ID"]=> array(9) 
    { 
    [0]=> string(3) "10a" 
    [1]=> string(3) "10b" 
    [2]=> string(3) "10c" 
    [3]=> string(3) "10d" 
    [4]=> string(3) "10e" 
    [5]=> string(3) "10f"  
    } 
["Details"]=> array(9) 
    { 
    [0]=> string(19) "This is textfield 1" 
    [1]=> string(17) "This is textfield 2" 
    [2]=> string(0) "" 
    [3]=> string(0) "" 
    [4]=> string(0) "" 
    [5]=> string(0) ""
    } 
}

ID被硬编码到页面中并始终传递,用户可以根据需要填写详细信息。

 if ($_POST['OthProb']['Details'] != '') {
        // Catch issue text and assign to variable
        foreach ( $_POST['OthProb']['Details'] as $key => $value) {
            $id = $_POST['OthProb']['ID']->$key;
            $dets = $value;
        // Focus on fields with values and join the array values together in a query string
        if ($dets != ''){
        $string = "INSERT into $table (AccountID, OtherID, ID, Details) VALUES ($_POST[AccountID], $_POST[OtherID], '".$id.", '".$dets."')";
            $sql = $DBH->prepare($string);
            // $sql->execute();
            // var_dump ($id);                
   }   
   }

}

创建以下

 "INSERT into tbl_problems (AccountID, OtherID, ID, Details) VALUES (80, 80, '10f, 'This is Title issue')"

“详细信息”输出正确,但它一直循环通过 ID 到最后一个,是因为我嵌套了一个 foreach 吗?构建循环的最佳方法是什么?

4

1 回答 1

2

尝试替换这一行:

$id = $_POST['OthProb']['ID']->$key;

经过

$id = $_POST['OthProb']['ID'][$key];
于 2013-06-13T12:38:26.680 回答