3 回答
TA贡献1827条经验 获得超9个赞
根据CodeIgniter 4 文档,您可以在每个员工的循环中执行此操作:
$data = [
'title' => $title,
'name' => $name,
'date' => $date
];
$db->table('mytable')->insert($data);
TA贡献1829条经验 获得超7个赞
您可以使用数组和内爆函数首先制作 key_array、value_array 和 bind_array 的数组,然后使用 implode() 并在 sql 中使用,如下所示
public function add_employee($input)
{
$key_array = array();
$value_array = array();
$bind_array = array();
foreach ($input as $column => $value) {
if ($value) {
$bind_array[] = '?';
$value_array[] = $value;
$key_array[] = $column;
}
}
$binds = implode(",",$bind_array);
$keys = implode(",",$key_array);
$values = implode(",",$value_array);
$sql = "INSERT INTO ol_employee ($keys) VALUES ($binds)";
$this->db->query($sql,$values);
}
TA贡献1816条经验 获得超4个赞
根据 Alex Granados 的洞察力,这是我使用的查询:
public function add_employee($input)
{
foreach ($input as $column => $value) {
if ($value) {
$data[$column] = $value;
}
}
$this->db->table('ol_employee')->insert($data);
}
这将消除空字段,并且无论有多少字段,仍然可以正常工作。只要表单中的输入名称字段与数据库列相同。否则,需要对此进行一些更改。
- 3 回答
- 0 关注
- 101 浏览
添加回答
举报