php - 在codeigniter中更新批处理时插入新行
问题描述
我遇到了一个问题,我不知道如何在 codeigniter 中更新批处理时插入新行。这是我的更新批处理代码,工作正常,但需要有关插入新行的帮助。
$input_data = $this->input->post();
for($i = 0; $i < sizeof($input_data['iid']); $i++) {
$batch[] = array(
'id' => $input_data['iid'][$i],
'desc' => $input_data['desc'][$i],
'size' => $input_data['size'][$i],
'stock' => $input_data['stock'][$i],
'color' => $input_data['color'][$i],
'qty' => $input_data['qty'][$i],
'price' => $input_data['price'][$i],
'linetotal' => $input_data['linetotal'][$i],
);
}
$this->db->update_batch('invoice_data', $batch, 'id');
$this->session->set_flashdata('success', 'Data added successfully.');
$this->session->set_flashdata('id', $id);
redirect('invoices');
但是当我用新数据添加新行时,它什么也不做。甚至不添加新的行 ID。请帮忙
解决方案
this will work if you are using array in inputs
like this
<input type="text" name="size[]">
function save_data() {
if (isset($_POST['size']) && !empty($_POST['size'])) { // you can take any field excluding id
foreach ($_POST['size'] as $key => $value) {
$batch = array();
$batch['desc'] = $_POST['desc'][$key];
$batch['size'] = $_POST['size'][$key];
$batch['stock'] = $_POST['stock'][$key];
$batch['color'] = $_POST['color'][$key];
$batch['qty'] = $_POST['qty'][$key];
$batch['price'] = $_POST['price'][$key];
$batch['linetotal'] = $_POST['linetotal'][$key];
if (isset($_POST['id'][$key]) && !empty($_POST['id'][$key])) { // if your id is blank means new data otherwise update it with given id
$id = $_POST['id'][$key];
$this->db->update_batch('invoice_data', $batch, 'id'); //pass id in it
} else {
$this->db->insert('invoice_data', $batch);
}
}
$this->session->set_flashdata('success', 'Data added/updated successfully.');
redirect('invoices');
}
}
推荐阅读
- vba - 我可以使用宏在 Google Docs 中添加一个按部分统计项目符号的实时计数器吗?
- python-3.x - 尝试连接数据库 MongoDB 时,Docker 容器返回 Connection denied
- javascript - Next.js 中动态导入模块的单例对象
- android - 堆栈在列内不起作用 - 颤振
- reactjs - 在 hooks setState 之后执行下一行代码的后果是什么?
- .net-core - dotnet test 命令显示单个测试运行时间?
- c# - 如何在 C# 中使用 XPath 包含
- google-cloud-platform - 将 GCP 项目迁移到组织中的影响
- sql-server - 从季节性因素和年度数据创建月度数据
- docker - 在 docker-compose 文件中访问 env 文件变量