Php 如何按200个批次更新表?
我正在尝试按200个批次更新表中的一列。例如,对于“weekday”列,第一个200将获得值“1”,第二个200将获得值“2”,依此类推 到目前为止,我已设法做到:Php 如何按200个批次更新表?,php,sql,codeigniter,Php,Sql,Codeigniter,我正在尝试按200个批次更新表中的一列。例如,对于“weekday”列,第一个200将获得值“1”,第二个200将获得值“2”,依此类推 到目前为止,我已设法做到: $record=$this->db->get('user'); $i=0; foreach ($record->result() as $row): $data=array (
$record=$this->db->get('user');
$i=0;
foreach ($record->result() as $row):
$data=array
(
'weekday'=>1,
);
$this->db->update('user', $data);
$i++;
if($i==200){
break;
}
endforeach;
echo '100 done';
foreach ($record->result() as $row):
$data=array
(
'weekday'=>2,
);
$this->db->update('user', $data);
$i++;
if($i==400){
break;
}
endforeach;
echo '200 done';
die;
但在代码运行后,所有行“列”的“weekday”值都会更新为“2”。我不知道发生了什么事。谢谢 你不需要中断并退出,只要在for循环中加入if即可
$record=$this->db->get('user');
$i=0;
foreach ($record->result() as $row):
if($i>=200){
$data=array
(
'weekday'=>2,
);
}
else
{
$data=array
(
'weekday'=>1,
);
}
$this->db->update('user', $data);
$i++;
endforeach;
1.选中select查询正在获取数据2。尝试将值1更改为3,然后查看更新本身是否为工作表单代码。