无法从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]);
}

您通过锚点元素的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 中发送参数

您正在考虑两种不同的方式来传递数据do控制器。如果您想将ID作为URL的一部分进行传递,则应该像在文档中那样进行。在这种情况下,您可以在控制器方法中添加一个参数来解决它。

如图所示:

admin.php

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

相关内容

  • 没有找到相关文章