如何更新代码点火器中的多个值



我有输入数据,我会用不同的值填充,我会多次更新

但我有一个错误,它是:

"字段列表"中的未知列"数组"UPDATEserviceSET charges_order=WHERE Arrayid_service='1'

如何克服这一点?

img 示例

查看

<?php $no = 1; foreach ($invoice as $m) { ?>
<tbody id="tbody">
<form class="form-signin" method="post" action="<?php echo base_url();?>backend/report/update/<?php echo $m->id_service; ?>">
<tr class="deleted">
<td><input type="text" class="form-control" name="charges_order[]" value="<?php echo $m->charges_order;?>"></td>
</tr>
</form>
</tbody>
<div class="box-footer">
<button type="submit" class="btn bg-blue btns-flat margin">Simpan</button>
</div>
<?php } ?>

控制器

public function update($id_service)
{
foreach ($this->input->post('charges_order') as $data) {
$data = array(
'charges_order' => $this->input->post('charges_order')
);
// echo '<pre>', print_r($data);
$this->M_report->update($id_service, $data);
redirect('backend/report');
}
}

型号

public function update($id_service, $data)
{
$this->db->where('id_service', $id_service);
$this->db->update('service', $data);
}

将控制器更改为此-

public function update($id_service){  
$charges_order = json_encode($this->input->post('charges_order'));
$data = array(
'charges_order' => $charges_order
);
$this->M_report->update($id_service, $data);       
redirect('backend/report');
}

这应该对你有用。

您处于一个循环中。您必须使用变量。

$data = array(
'charges_order' => $data
);

您可以将数组转换为字符串,然后更新表。

//example
[1,2,3,4] -> "1,2,3,4"

这是代码

public function update($id_service)
{
$data = array(
'charges_order' => implode(",", $_POST['charges_order'])
);
// echo '<pre>', print_r($data);
$this->M_report->update($id_service, $data);
redirect('backend/report');
}

当您检索时,您可以反转过程

public function get_orders($id_service)
{
$this->db->select('charges_order');
$this->db->where('id_service', $id_service);
$result = $this->db->get('service')->result_array();
return explode(",", $result["charges_order"]); //returns an array
}

相关内容

  • 没有找到相关文章

最新更新