我正在尝试使用href删除特定记录。但是当我点击按钮传递URL时,它无法正常工作
http://localhost/project_x/Organisation/Organisation/%3C?php%20echo%20base_url();?%3EOrganisation/delete_org?id=3
我不知道任何人都可以帮助我的错误在哪里。它在URL中传递id是正确的。
这是我的控制器:
function delete_org() {
// Pass the $id to the org_delete() method
$this->Org_model->org_delete($id);
redirect('Organisation/organisation');
}
这是我的重定向组织功能
public function organisation() {
$data['organisations'] = $this->Org_model->getOrganisations();
$this->load->view('template/header');
$this->load->view("organisation", $data);
$this->load->view('template/footer');
}
这是我的模特:
function org_delete($id) {
$this->db->where('id', $id);
$this->db->delete('organisation');
}
这是我的视图按钮:
<?php
echo "<td class='text-center'><div class='btn-group btn-group-xs'><a href='#' data-logid='" . $org->id . "' data-target='#editGroups' data-toggle='modal' title='Edit' class='open_modal btn btn-default'><i class='fas fa-edit'></i></a>";
echo "<a href='<?php echo base_url();?>/Organisation/delete_org?id=$org->id' class='btn btn-danger confirmation'><i class='fas fa-times'></i></a></div></td></tr>";
?>
任何人都可以在我错误的地方帮助我。
提前致谢。
答案 0 :(得分:2)
问题是你在echo中再次添加php标签。更改您的删除锚标记如下:
echo "<a href='".base_url()."/Organisation/delete_org?id=$org->id' class='btn btn-danger confirmation'><i class='fas fa-times'></i></a></div></td></tr>";
同样在控制器中定义$ id
function delete_org() {
// Pass the $id to the org_delete() method
$id = $_GET['id'];
$this->Org_model->org_delete($id);
redirect('Organisation/organisation');
}
答案 1 :(得分:2)
希望这会对您有所帮助:
更改视图按钮,如下所示:
<?php
echo "<td class='text-center'><div class='btn-group btn-group-xs'><a href='#' data-logid='" . $org->id . "' data-target='#editGroups' data-toggle='modal' title='Edit' class='open_modal btn btn-default'><i class='fas fa-edit'></i></a>";
echo "<a href='".base_url('Organisation/delete_org?id='.$org->id)."' class='btn btn-danger confirmation'><i class='fas fa-times'></i></a></div></td></tr>";
在控制器中:
function delete_org() {
$id = $this->input->get('id');
$this->Org_model->org_delete($id);
redirect('Organisation/organisation');
}
答案 2 :(得分:0)
您可以使用codeigniter框架通过data-attribute尝试删除记录,如下所示。
<强> HTML 强>
<a class="deletedata" data-id="<?php echo $data['id] ?>">delete</a>
<强> JS 强>
$(".deletedata").on("click",function(){
var id=$(this).data('id');
var baseurl = $("#base_url").val();
$.post(baseurl+"Products/dltProduct/"+id,function(id){
window.location.reload();
});
});
这里我的控制器名称是Products。你可以定义你的名字和 而不是在定义方法名称之后。
<强>控制器强>
public function dltProduct($id) {
$this->db->where("id",$id);
$this->db->delete("tbl_name");
}
答案 3 :(得分:0)
function delete_org($id= NULL) {
// Pass the $id to the org_delete() method
$id = $this->input->post('id');
$this->Org_model->org_delete($id);
redirect('Organisation/organisation');
}
hope this helps you