在每个 foreach 中使用多个 foreach 插入只会在每个 foreach 中获取最终值

我目前正在研究评估系统。问题是动态创建的/


所以我已经尝试从不同的 foreach 输入字段插入值,我使用输入类型文本而不是单选按钮。我的代码只是插入从每个 foreach 循环中获取的最后一个值。


 <?php 

    session_start();

    include('connectDB.php');

    $userId= $_SESSION['id'];


    mysqli_query($conn,"UPDATE student SET evaluationId = 1 WHERE studentId='$userId'");


    foreach($_POST['nPersonnelId'] as $personnelId ){

        for ($i=0; $i<count($_POST['rCourteous']); $i++){

            $rCourteous = $_POST['rCourteous'][$i];

        }

        for ($i=0; $i<count($_POST['rPrompt']); $i++){

            $rPrompt = $_POST['rPrompt'][$i];

        }

        for ($i=0; $i<count($_POST['rCompetent']); $i++){

            $rCompetent = $_POST['rCompetent'][$i];

        }

        for ($i=0; $i<count($_POST['rAccom']); $i++){

            $rAccom = $_POST['rAccom'][$i];

        }

        mysqli_query($conn,"INSERT INTO qpanswer

                (studentId,personnelId,courteous,prompt,competent,accommodating) 

                VALUES ('$userId','$personnelId','$rCourteous','$rPrompt','$rCompetent','$rAccom')");

    }

    header('location:studentDashboard.php');

?>


慕森王
浏览 183回答 1
1回答

慕盖茨4494581

您不需要所有内部循环,只需从外部循环获取索引并将其用于所有内部数组。所以这里$i从foreach关键...foreach($_POST['nPersonnelId'] as $i => $personnelId ){&nbsp; &nbsp; $rCourteous = $_POST['rCourteous'][$i];其他每个字段都相同。同样正如所指出的那样 - 使用准备好的语句。
打开App,查看更多内容
随时随地看视频慕课网APP