как использовать два или три массива в цикле foreach в php для вставки в базу данных - PullRequest
0 голосов
/ 23 февраля 2019

Как вставить несколько массивов с foreach в строки базы данных?

Это не проблема с массивом, но моя проблема заключается в использовании двух или более массивов.

мой php-код:

$checkBox1 = implode(',', $_POST['goinput1']);
$checkBox2 = implode(',', $_POST['goinput3']);
$mark3=explode(',', $checkBox1);
$mark4=explode(',', $checkBox2);
foreach($mark3 as $out3) 
{
    $sql_sub = "INSERT INTO sub_forms
                        (bord_mizban,bord_mihman) 
                VALUES ('$out3','$out4')";      
    if ($conn->query($sql_sub) === TRUE) {  

    } else {

    }   

}

** Я хочу вставить переменную out 4 в базу данных с переменной out 3 **

Ответы [ 2 ]

0 голосов
/ 23 февраля 2019

Краткий ответ:

foreach($mark3 as $key => $out3) {
    $values = "'$out3."','".$mark4[$key]."'"
    $sql_sub = "INSERT INTO sub_forms
                        (bord_mizban,bord_mihman) 
                VALUES ($values)";      
    if ($conn->query($sql_sub) === TRUE) {  

    } else {

    }   

}

Это исправит ваш фактический вопрос.Тем не менее, есть лучший способ сделать это, только 1 sql запрос.

foreach($mark3 as $key => $out3) {
    $valuesArray[] = "('$out3."','".$mark4[$key]."')" // this makes an array of your value sets.
}
$values = join(", ", $valuesArray) // this joins your array to one string, with each entry separated by a comma.
$sql_sub = "INSERT INTO sub_forms
                        (bord_mizban,bord_mihman) 
                VALUES $values";      
    if ($conn->query($sql_sub) === TRUE) {  

    } else {

    }   
0 голосов
/ 23 февраля 2019

Итерация по $mark3 с использованием индексов ($key) и получение элемента под тем же ключом:

foreach($mark3 as $key => $out3) 
{
    echo $out3 . '; ' . $mark4[$key];
}
...