无法使用href

时间:2018-05-17 11:41:24

标签: php codeigniter url

我正在尝试使用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>";                                           
?>

任何人都可以在我错误的地方帮助我。

提前致谢。

4 个答案:

答案 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