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 關注
- 137 瀏覽
添加回答
舉報