вставить, используя несколько foreach внутри для каждого только получает окончательное значение в каждом foreach - PullRequest
1 голос
/ 25 мая 2019

В настоящее время я работаю над системой оценки.Вопросы создаются динамически /

Так что я уже пробовал вставлять значения из разных полей каждого поля ввода. Я использую текст ввода вместо радиокнопки.мой код просто вставляет последнее значение, полученное из каждого цикла 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');
?>

1 Ответ

1 голос
/ 25 мая 2019

Вам не нужны все внутренние циклы, просто получите индекс из внешнего цикла и используйте его для всех внутренних массивов.Таким образом, здесь получаем $i из ключа foreach ...

foreach($_POST['nPersonnelId'] as $i => $personnelId ){
    $rCourteous = $_POST['rCourteous'][$i];

То же самое для каждого из других полей.

Также, как указано, - используйте подготовленные операторы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...