我的表中有以下记录:
id status
129 'Ready'
129 'Ready'
129 'Confirm'
129 'Confirm'
129 'Processing'
130 'Confirm'
我试图改变的是根据用户输入的id改变状态。
我在控制器中捕获用户输入,如下所示:
$id= $this->input->post("id");
$confirm = $this->input->post("confirm");
$processing = $this->input->post("processing");
$ready = $this->input->post("ready");
$delivered = $this->input->post("delivered");
用户输入值的示例如下:
$id= 129
$confirm = 1
$processing = 2
$ready = 2
$delivered = 0
这基本上意味着id为129的所有行都应该在order中具有status,confirm应该出现一次,processing两次,ready ready和no delivered。
如何使用上述输入数据更新状态,使其如下所示:
id status
129 'Ready'
129 'Ready'
129 'Confirm'
129 'Processing'
129 'Processing'
130 'Confirm'
在我的模型中,我尝试了如下,但它不起作用。
public function update_status($serialized,$confirm,$processing,$ready,$delivered) {
$data = array(
'status' => 'Confirm',
);
$this->db->where('is_serialized', $serialized);
$this->db->limit($confirm);
$this->db->update('items', $data);`$data = array(
'status' => 'Processing',
);
$this->db->where('is_serialized', $serialized);
$this->db->limit($processing);
$this->db->update('items', $data);
$data = array(
'status' => 'Ready',
);
$this->db->where('is_serialized', $serialized);
$this->db->limit($ready);
$this->db->update('items', $data);
$data = array(
'status' => 'Delivered',
);
$this->db->where('is_serialized', $serialized);
$this->db->limit($delivered);
return $this->db->update('items', $data); }
任何帮助都将不胜感激。
`
1条答案
按热度按时间trnvg8h31#
试试这个: