我有一个关于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
}
}
恢复:
如果您在此表单中使用表单和提交按钮,您可以从表单的输入字段创建$_POST数组(例如
<input type="text" name="offer_id">
,您可以使用$id=$this->input->get('offer_id')
在控制器中读取;使用锚点元素并在Url 中发送参数
您正在考虑两种不同的方式来传递数据do控制器。如果您想将ID作为URL的一部分进行传递,则应该像在文档中那样进行。在这种情况下,您可以在控制器方法中添加一个参数来解决它。
如图所示:
admin.php
public function delarticles($id)
{
$this->load->model('adminloginmodel');
if($this->adminloginmodel->del($id))
...