这是我的表格tbl_tools
和tbl_tool_use
。
tbl_tools
表看起来像这样
id name quantity available type
5 cutting player 5 5 engineer
6 reflectors 2 2 team
7 spanner 8 8 engineer
8 tester 4 4 team
tbl_tool_use
看起来像这样
id user_id type tool_id quantity start_date end_date
92 27 engineer 7,5 2,4 2016-12-24
这是我的更新代码
$t_id = $this->input->post('tool_id'); //array of id
$qty = $this->input->post('quantity'); //array or qty
$updateArray = array();
for($x = 0; $x < sizeof($t_id); $x++){
$updateArray[] = array(
'id'=>$t_id[$x],
'available' => $qty[$x]
);
}
$this->db->update_batch('tbl_tools',$updateArray, 'id');
这是我的代码,请等一下。
public function edit_available($tool_id=null,$quantity=null)
{
$tool_id=array(7,5);
$quantity=array(2,4);
$this->db->where_in('id',$tool_id);
$data=array('available'=>$quantity);
$query=$this->db->update('tbl_tools',$data);
if($query)
{
return true;
}
else
{
return false;
}
}
此处提供的tool_id
分别为7
和5
,所选数量分别为2
和4
。当我使用我的代码时,只有第一个值quantity
中的id
正在变更,根据所选内容进行更改,请帮助我解决问题
答案 0 :(得分:2)
首先在下面描述工具ID和数量的数组
$data = array(
array(
'id' => '7' ,
'available' => '3'
),
array(
'id' => '5' ,
'available' => '2' ,
)
);
然后执行批量更新
$this->db->update_batch('tbl_tools', $data, 'id');
参考:如何制作多维数组
$tool_id=array(7,5);
$quantity=array(3,2);
$data = array();
$i = 0;
foreach($tool_id as $t){
$data[$i]['id'] = $t;
$data[$i]['available'] = $quantity[$i];
$i++;
}