如何在mysql数据库中插入两个不同的数组?

时间:2018-05-02 05:50:50

标签: php arrays

好的,现在我在复选框上有2个输入字段,另外一个是输入文本 像这样

<input type="text" name="student[]">
<input type="checkbox" name="marks[]">

现在我想在数据库中插入所有数据。如何同时插入。

这是php想要但只有一个数组的例子

foreach($student as $value){

    $sql = "INSERT INTO `academic` ('student', `mark`) VALUES ('$value','mark')";

        if(mysqli_query($conn, $sql)){
            echo "Insert mark for student ".$value." complete<br>";
        } else {
            echo "Error: " . mysqli_error($conn);
        }
    }

如何使它可以同时插入2个不同的数组?

4 个答案:

答案 0 :(得分:1)

在这种情况下,您可以将第二个foreach用于第二个数组,如

foreach($student as $value){
 foreach($marks as $singlemarks){

    $sql = "INSERT INTO `academic` ('student', `mark`) VALUES ('$value','$singlemarks')";

        if(mysqli_query($conn, $sql)){
            echo "Insert mark for student ".$value." complete<br>";
        } else {
            echo "Error: " . mysqli_error($conn);
        }
     }
    }

你也可以在json中为数据库中的商店多数组转换数组 比如json_encode($ array)和你想要使用时解码一样

答案 1 :(得分:0)

使用JSON存储数据。只需将数组编码为json并在需要时进行解码 例如json_encode($ array);

答案 2 :(得分:0)

您需要计算studentmarks的值并检查student values>marks valuesstudent values<marks values。并在for循环中使用它。之后检查值是否存在在学生和标记array.something这样。

 if (isset($_POST['student'])) {
    $student=$_POST['student'];
    $marks=$_POST['marks'];
    $countStudent=count($student);
    $countMarks=count($marks);
    if ($countMarks>$countStudent) {
        $resultCount=$countMarks;
    }
    else{
        $resultCount=$countStudent;

    }

    for ($i = 0; $i <=$resultCount-1 ; $i++) {
        if (isset($student[$i])) {
            $value= $student[$i];
        }
        else{
            $value= '';
        }
        if (isset($marks[$i])) {
            $mark = $marks[$i];
        }
        else{
            $mark = '';
        }
        $sql = "INSERT INTO `academic` ('student', `mark`) VALUES ('$value','$mark')";
    }
}

答案 3 :(得分:-1)

将两个数组合并为一个数组。这样的事情:$res = array_merge($my_array1, $my_array2);

然后将数据插入数据库,如下所示:

foreach (array_expression as $key => $value)
{
  //Here Goes Here Your Logic....
}