我无法在CodeIgniter中更新我的记录

时间:2018-10-21 11:08:57

标签: php codeigniter codeigniter-2

我只是在更新数据库中的记录。我正在将ID和状态传递给控制器​​,并且想更新到数据库,但是我无法做到这一点。 控制器名称为Examtest,模型名称为crud_model,视图名称为category。 这段代码是View:

foreach ($user_data as $key => $val) {
                                          $status = $val['status'];
                                               if ($status == "Active") {
                                               $st = '<p class="text-success">ACTIVE</p>';
                                               $stl = '<a href="examtest/update_status?id='.$val['category_id'].'?sta='.$val['status'].'">Make Inactive</a>';
                                               }else{
                                               $st = '<p class="text-danger">INACTIVE</p>'; 
                                               $stl = '<a href="examtest/update_status?id='.$val['category_id'].'?sta='.$val['status'].'">Make Active</a>';                                             
                                               }

这段代码是Controller的代码,我创建了一个函数:

public function update_status()
    {
         $this->load->model('crud_model');
        $data['user_data']=$this->crud_model->update_status();
        if (isset($_REQUEST['sta'])) {


        if ($data=="Active") {
            $this->session->set_flashdata('msg',"Successfully");
            $this->session->set_flashdata('msg_clas','alert-success');
        }
        else{
            $this->session->set_flashdata('msg',"Not Successfully");
            $this->session->set_flashdata('msg_clas','alert-danger');
        }


        }
        return $this->load->view('backend/teacher/categories');
    }

这段代码是模型,我创建了一个函数:

function update_status(){
   $this->load->database();
  $id=$_REQUEST['id'];
  $saval=$_REQUEST['sta'];
  if ($saval="Active") {
    $status= "Inactive";
  }
  else 
  {
    $status = "Active";
  }

  $data=array('status'=>$status);
  $this->db->where('category_id',$id);
  return $this->db->update('tbl_categories',$data);

}

我要去哪里错了?我刚刚创建了一些记录,因为有了“操作”按钮,如果有人单击“选择”选项,它将显示给他们一个选择选项;如果有人选择了“第一选项”,它也会更新数据库中的记录。

1 个答案:

答案 0 :(得分:0)

请使用last_query()方法打印当前更新查询。

要打印上一个查询,请使用-

echo $this->db->last_query();die;

更新查询-

$data=array('status'=>$status);
$this->db->where('category_id',$id);
$this->db->update('tbl_categories',$data);
echo $this->db->last_query();die;
return $this->db->affected_rows();

请尝试这个。