【问题标题】:I am not able to update my records in CodeIgniter我无法在 CodeIgniter 中更新我的记录
【发布时间】:2018-10-21 11:08:56
【问题描述】:

我只是在更新数据库中的记录。我正在将 Id 和状态传递给控制器​​并希望更新到数据库,但我无法做到。 控制器名称是 Examtest,模型名称是 crud_model,视图名称是类别。 此代码是视图:

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>';                                             
                                               }

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

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

}

我哪里错了?我刚刚创建了一些记录,我已经给出了操作按钮,如果有人点击选择选项,它将向他们显示一个选择选项,如果有人选择第一个选项,它也会更新我在数据库中的记录。

【问题讨论】:

    标签: php codeigniter codeigniter-2


    【解决方案1】:

    请使用 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();
    

    请试试这个。

    【讨论】:

    • 它也没有在 db 上更新
    • 您打印了最后一个查询吗?请复制最后一个查询并手动执行到phpmyadmin中。
    猜你喜欢
    • 2017-04-11
    • 1970-01-01
    • 2010-09-30
    • 1970-01-01
    • 2011-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多