php - 如何在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。
解决方案
根据CodeIgniter 4 文档,您可以在循环中为每个员工执行此操作:
$data = [
'title' => $title,
'name' => $name,
'date' => $date
];
$db->table('mytable')->insert($data);