使用循环将多个相同形式的数组插入到一个表中

Posted

技术标签:

【中文标题】使用循环将多个相同形式的数组插入到一个表中【英文标题】:Insert multiple arrays of same form into one table using loop 【发布时间】:2013-09-01 15:35:30 【问题描述】:

我需要插入技术来将多个相同形式的数组插入到一个表中,我尝试了以下代码。

input.html

<form method="post" enctype="multipart/form-data" action="action.php">

<div>
    <input type="checkbox" name="feel[]" value="Worried" id="feel1">
    <label for="feel1">Worried</label>
</div>

<div>
     <input type="checkbox" name="feel[]" value="Scared" id="feel2">
     <label for="feel2">Scared</label>
</div>
<div>
    <input type="checkbox" name="problem[]" value="Worried" id="problem1">
    <label for="problem1">Worried</label>
</div>

<div>
     <input type="checkbox" name="problem[]" value="Scared" id="problem2">
     <label for="problem2">Scared</label>
</div>

</form>

action.php

<?include 'include/connect.php';
for($i=0;$i<count($_POST["feel"]);$i++)

$array=array("self_assessment_emotion"=>$_POST['feel'][$i]);
$feel = $db_obj->insert($array,"tbl_self_assessment");

for($i=0;$i<count($_POST["problem"]);$i++)

$array=array("self_assessment_physical"=>$_POST['problem'][$i]);
$problem = $db_obj->insert($array,"tbl_self_assessment");

?>

我得到这个输出:

这就是我需要的:

【问题讨论】:

【参考方案1】:

好吧,试试这个:

    <?include 'include/connect.php';
    $max_number = max(count($_POST["feel"]), count($_POST["problem"]));
    for($i=0; $i < $max_number; $i++)
    
    $array=array(
        "self_assessment_emotion"=>$_POST['feel'][$i],
        "self_assessment_physical"=>$_POST['problem'][$i]
    );
    $feel_problem = $db_obj->insert($array,"tbl_self_assessment");
    

    ?>

【讨论】:

以上是关于使用循环将多个相同形式的数组插入到一个表中的主要内容,如果未能解决你的问题,请参考以下文章

将两个数组插入到一个mysql表中

将多个表中的数据插入到一个表中

如何使用 SSIS 将多个表中的数据插入到多个表中?

Coldfusion / Lucee - 使用一个查询循环遍历3D数组以使用多个插入插入到数据库中

如何将来自三个 Perl 数组的数据插入到单个 MySQL 表中?

如何使用C#使用相同的SQL Server连接运行foreach循环