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

我有一个关于 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]);


  }


长风秋雁
浏览 161回答 2
2回答

婷婷同学_

您将通过锚元素的 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){&nbsp; &nbsp; if ($id){&nbsp; &nbsp; &nbsp; &nbsp; $this->load->model('adminloginmodel');&nbsp; &nbsp; &nbsp; &nbsp; if($this->adminloginmodel->del($id))&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$this->session->set_flashdata('insertsuccess','Delete Successfully');&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$this->session->set_flashdata('msg_class','alert-success');&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; else&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $this->session->set_flashdata('insertsuccess','Please try again..not delete');&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $this->session->set_flashdata('msg_class','alert-danger');&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; return redirect('admin/viewoffers');&nbsp; &nbsp; }else{&nbsp; &nbsp; &nbsp; &nbsp;// your code in case there is no value for $id, aka $id=0&nbsp; &nbsp; }}恢复:如果您在该表单中使用表单和提交按钮,则可以从表单的输入字段创建一个 $_POST 数组(例如<input type="text" name="offer_id">,您可以在控制器中使用 ; 读取该数组$id=$this->input->get('offer_id'))使用锚元素并在 Url 中发送参数

Cats萌萌

您正在考虑向控制器传递数据的两种不同方式。如果您想将 ID 作为 URL 的一部分传递,您应该按照文档中的方式进行操作。在这种情况下,您可以通过向控制器方法添加参数来解决该问题。正如所见:管理文件  public function delarticles($id)     {        $this->load->model('adminloginmodel');             if($this->adminloginmodel->del($id))    ...
打开App,查看更多内容
随时随地看视频慕课网APP