首页 > 解决方案 > 如何在php中循环多个表单输入并分配给sql查询?

问题描述

public function add_employee($input)
{
    $key_array = null;
    $value_array = null;
    $bind_array = null;
    foreach ($input as $column => $value) {
        if ($value) {
            #$bind_array => ?, ?, ?;
            #$value_array => [$value1, $value2, $value3];
            #$key_array => column1, column2, column3;
        }
    }
    $sql = "INSERT INTO ol_employee ($key_array) VALUES ($bind_array)";
    $this->db->query($sql, $value_array);
}

参考函数中的注释,如何实现该输出?这个想法是,从输入 POST 我得到超过 27 个字段,我只想填写我准备的 $sql 查询,如您所见。我不认为手动编写每个表列是一个好方法。

我使用 Codeigniter 4 php 框架 + postgresql。

标签: phpsqlpostgresqlcodeigniter

解决方案


根据CodeIgniter 4 文档,您可以在循环中为每个员工执行此操作:

$data = [
    'title' => $title,
    'name'  => $name,
    'date'  => $date
];

$db->table('mytable')->insert($data); 

推荐阅读