我只是在更新数据库中的记录。我正在将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);
}
我要去哪里错了?我刚刚创建了一些记录,因为有了“操作”按钮,如果有人单击“选择”选项,它将显示给他们一个选择选项;如果有人选择了“第一选项”,它也会更新数据库中的记录。
答案 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();
请尝试这个。