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

标签 mysql arrays insert

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

输入.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");
}
?>

我得到这个输出: Output Getting

这就是我需要的: Output Required

最佳答案

好吧,试试这个:

    <?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 - 使用循环将多个相同形式的数组插入到一个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18506926/

相关文章:

mysql - 在 laravel 中处理死锁异常

c - qsort() 对一个字符串数组进行排序,但在另一个字符串数组上出现段错误

Android:批量插入联系人照片

MYSQL从select语句插入多行

php - 在外部 php 脚本中使用 joomla 函数

mysql - 如何以特定格式在MySQL数据库中保存日期?

以 Python 方式将多个值插入列表

javascript - 在 Handlebars mustache 内按键访问数组/对象变量

c - 使用 3D 数组 - 无法进行输出

excel - 查找 A 列中的更改并使用 Excel VBA 插入 4 行