Php CodeIgniter多行更新

Php CodeIgniter多行更新,php,codeigniter,Php,Codeigniter,我的一个项目有问题。我读了很多书,不知道该怎么办了。这是我们小型办公室的Codeigniter待办事项列表项目。我已经做了显示数据库内容的部分,但是我在更新部分遇到了困难。在视图部分,有一个带有复选框的待办事项列表。如果他们完成了任务,那么他们会勾选该框,然后输入完成任务的日期和姓名首字母。所以他们可以检查很多任务,写上日期和首字母,而我在一次更新它们时遇到了问题。我被难住了。请帮忙。谢谢 控制器 模型 查看使用批量查询多个更新@Rakeshharma网站的codeigniter用户指南现在是C

我的一个项目有问题。我读了很多书,不知道该怎么办了。这是我们小型办公室的Codeigniter待办事项列表项目。我已经做了显示数据库内容的部分,但是我在更新部分遇到了困难。在视图部分,有一个带有复选框的待办事项列表。如果他们完成了任务,那么他们会勾选该框,然后输入完成任务的日期和姓名首字母。所以他们可以检查很多任务,写上日期和首字母,而我在一次更新它们时遇到了问题。我被难住了。请帮忙。谢谢

控制器

模型


查看使用批量查询多个更新@Rakeshharma网站的codeigniter用户指南现在是CIThanks的新所有者,以便快速响应。我尝试使用update_批处理,但只使用了控制器和模型。我真的很困惑如何将post数组变量传递到控制器,以便将其传递到模型。下面是我如何查看post数组$post=$this->input->post;回声;}包含复选框、日期字段和文本字段的表单的数组结果。我已经为每个视图分配了ID。我希望我能给你更多。我刚开始使用CI。谢谢数组[表格更新]=>更新[复选框]=>数组[0]=>405[1]=>406[日期]=>数组[405]=>2014年5月2日[406]=>2015年5月1日[407]=>=>[姓名首字母]=>数组[405]=>sdfasdf[406]=>asdfasdf[407]=>[408]=>[409]=>[410]=>[411]=>[412]=>
public function update_tasks() {
    $this->load->model('model_members');        
    $post=$this->input->post();
    $this->model_memberdashboard->reset_tasks($this->session->userdata('UserID')); // resets completion status of all tasks since checkboxes that are not checked doesn't do Post
    foreach ($post['checkbox'] as $row){
        $newData = array(
            'completed'=> 1
        );
        $this->model_members->update_tasks($newData,$row);
    }
    $this->index();
  public function update_tasks($data,$id) {
        $this->db->update("mastertaskslist",$data,['id' => $id]);
    }
foreach ($allowedTasklist_1 as $row) {                                    
    echo '<li class="ui-state-default clearfix">';
    echo '<div class=row>';
        echo '<div class="col-sm-1">';
            $checkbox=array(
                'name'        => 'checkbox[]',
                'id'          => 'checkbox[]',
                'type'        => 'checkbox',                                                
                'value'       => $row->id,
                'checked'     => $row->completed,                                     
            );
            if ($row->completed=="False"){
                unset($checkbox['checked']);                        
            }                                            
            echo form_checkbox($checkbox);
        echo '</div>';
        echo '<div class="col-sm-1">';
            echo '<label>'.$num.'.'.'</label>';
        echo '</div>';
        echo '<div class="col-sm-10">';
            echo '<div class="row">';
                echo '<div class="col-sm-12">';
                    echo '<p>'.$row->taskTitle.'</p>';
                echo '</div>';
            echo '</div>';
            echo '<div class="row">';
                echo '<div class="col-sm-8">';
                    if ($row->lastUpdate=='0000-00-00'){
                        $currDate=NULL;                                                
                    }   else {
                        $currDate=date('m/d/Y', strtotime($row->lastUpdate));
                    }
                    $date=array(
                        'type'        => 'text',
                        'class'       => 'datepicker',
                        'name'        => 'date['.$row->id.']',
                        'id'          => 'date['.$row->id.']',                                                        
                        'value'       => $currDate,
                        'placeholder' => 'mm/dd/yyyy',
                        'size'        => '15'
                    );
                    echo form_input($date);                                              
                echo '</div>';
                echo '<div class="col-sm-4">';
                $initials=array(
                    'name'        => 'initials['.$row->id.']',
                    'id'          => 'initials[]',
                    'value'       => $row->initials,
                    'maxlength'   => '100',
                    'size'        => '3',
                );                                    
                echo form_input($initials);
                echo '</div>';
            echo '</div>';
        echo '</div>';                                        
    echo '</div>';
    $num++;
    echo '</li>';
}