为了账号安全,请及时绑定邮箱和手机立即绑定

无法从 codeigniter 中的数据库中删除数据

无法从 codeigniter 中的数据库中删除数据

PHP
长风秋雁 2023-07-15 16:55:59
我有一个关于 codeigniter 的项目。我想从数据库中删除数据。如果用户单击删除按钮,则应将其删除。我的问题 我认为所有代码都可以工作..但我认为id 没有进入我的系统controller ,没有错误,但数据也没有从数据库中删除Offerfetch.php(查看)<td><a type="button" class="btn btn-danger" href="<?= base_url('admin/delarticles'); ?>/<?php echo $emp->offer_id; ?>">Delete</a></td><td><a type="button"  class="btn btn-info" href="<?= base_url('admin/editoffer'); ?>/<?php echo $emp->offer_id; ?>">update</a></td>admin.php(控制器)  public function delarticles()  {    $id=$this->input->get('offer_id');     $this->load->model('adminloginmodel');       if($this->adminloginmodel->del($id))       {           $this->session->set_flashdata('insertsuccess','Delete Successfully');           $this->session->set_flashdata('msg_class','alert-success');       }       else       {          $this->session->set_flashdata('insertsuccess','Please try again..not delete');          $this->session->set_flashdata('msg_class','alert-danger');       }       return redirect('admin/viewoffers');   }为了调试 我用过print_r($id);exit();在控制器中的行之后,$id=$this->input->get('offer_id');但我没有得到任何 id,出现空白页面。adminloginmodel.php(模型)    public function del($id)  {          return $this->db->delete('offers',['offer_id'=>$id]);  }
查看完整描述

2 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

您将通过锚元素的 url 发送 id:


<a type="button" class="btn btn-danger" href="<?= base_url('admin/delarticles'); ?>/<?php echo $emp->offer_id; ?>">Delete</a>

它应该生成类似的东西:


href="your_app/admin/delarticles/1"

您正在尝试读取 id,因为它来自表单的输入字段,但这里不是这种情况,您可以直接在函数中从 url 访问它,例如


public function delarticles($id=0){

    if ($id){

        $this->load->model('adminloginmodel');

        if($this->adminloginmodel->del($id))

        {

           $this->session->set_flashdata('insertsuccess','Delete Successfully');

           $this->session->set_flashdata('msg_class','alert-success');

        }

        else

        {

          $this->session->set_flashdata('insertsuccess','Please try again..not delete');

          $this->session->set_flashdata('msg_class','alert-danger');

        }

        return redirect('admin/viewoffers');

    }else{

       // your code in case there is no value for $id, aka $id=0

    }

}

恢复:

  1. 如果您在该表单中使用表单和提交按钮,则可以从表单的输入字段创建一个 $_POST 数组(例如<input type="text" name="offer_id">,您可以在控制器中使用 ; 读取该数组$id=$this->input->get('offer_id')

  2. 使用锚元素并在 Url 中发送参数


查看完整回答
反对 回复 2023-07-15
?
Cats萌萌

TA贡献1805条经验 获得超9个赞

您正在考虑向控制器传递数据的两种不同方式。如果您想将 ID 作为 URL 的一部分传递,您应该按照文档中的方式进行操作。在这种情况下,您可以通过向控制器方法添加参数来解决该问题。

正如所见:

管理文件

  public function delarticles($id)
    {  
     $this->load->model('adminloginmodel');    
        if($this->adminloginmodel->del($id))
   ...


查看完整回答
反对 回复 2023-07-15
  • 2 回答
  • 0 关注
  • 160 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信