如何批量更新表200?

时间:2014-05-11 10:03:51

标签: php sql codeigniter

我尝试按批次200更新表格的列。例如,对于列“工作日”,前200个将获得值' 1' ,第二个200将获得价值' 2'等等。

到目前为止,我已成功获得:

        $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;

但是在代码运行之后,所有的行都是'栏目'工作日'值已更新为' 2'。我不确定发生了什么。谢谢!

1 个答案:

答案 0 :(得分:0)

你不需要打破并离开,只需在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;