我只是在更新数据库中的记录。我正在将 ID 和状态传递给控制器,并希望更新到数据库,但我无法做到这一点。 控制器名称为"检查测试",模型名称为"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);
}
我哪里出错了?我刚刚创建了一些记录,因为我给了"操作"按钮,如果有人单击选择选项,它将向他们显示一个选择选项,如果有人选择第一个选项,它也将更新我在数据库中的记录。
请使用 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();
请尝试此。