0

嘿伙计们,我是框架的初学者CodeIgniter,我正在制作一个应用程序,我想在其中从数据库中删除记录/行。我在视图的每一行前面创建了删除按钮,为此我编写了一些代码,但它没有帮助。请帮我。

这是我的view

<td><?php echo anchor('dbcont/deleteinput', 'Delete', array('onclick'=>'deleteinput(\''. $row->member_id .'\');')); ?></td>

这是我的model

function deletedata($id)
{
     $this->db->delete('tbl_members', array('member_id' => $id));
}

这是我的controller

function deleteinput($id)
    {
            $this->load->helper('form');
            $this->load->helper('html');
            $this->load->model('user');
            $this->db->select('member_id');
            $id = $this->db->get('tbl_members');
            $this->user->deletedata($id);
            redirect('home');
    }
4

3 回答 3

0

尝试这个:

<a href="javascript:void(0);" onclick="deleteinput(<?php echo $row->member_id;?>);">delete</a>

在你的 javascript 中使用它

<script type="text/javascript">
var url="<?php echo base_url();?>";

    function delete(id){ 
        if (confirm("Do you want to delete?"))
          window.location = url+"dbcont/deleteinput/"+id;
        else
          return false;
}
</script>

在控制器中

public function deleteinput($id){
     $this->load->model('user');
     $this->user->deletedata($id);
     redirect('home');

}

在模型中

function deletedata($id){
        $this->db->where('id', $id);
        if($this->db->delete('tbl_members'))
           return true;
        else
           return false;
    }
于 2013-02-19T07:36:29.960 回答
0

你在点击事件上调用一个javascript函数......但你在发布的问题中没有任何函数......

 <td><?php echo anchor('dbcont/deleteinput', 'Delete', array('onclick'=>'deleteinput(\''. $row->member_id .'\');')); ?></td>

无论如何我认为你不需要javascript函数你可以在url中将id作为参数传递

尝试这个,

 <td><?php echo anchor('dbcont/deleteinput/'.$row->member_id, 'Delete'); ?></td>

注意:dbcont 是控制器类名

更新

更新你的控制器...

function deleteinput($id)
{
        $this->load->helper('form');
        $this->load->helper('html');
        $this->load->model('user');
        $this->user->deletedata($id);
        redirect('home');
}

你不需要控制器中get()select任何东西..这是模型代码......你已经在你的deletedata函数中这样做了..

$this->db->delete() => 第一个参数是表名,第二个是where子句。您还可以使用 where() 或 or_where() 函数,而不是将数据传递给函数的第二个参数。

文档在这里

于 2013-02-19T05:57:54.933 回答
0

试试这个也...

<td><a href="javascript:delete_member(<?php echo $row->member_id  ?>) > Delete</a></td>

并在同一个视图文件中编写这样的 JavaScript 函数......

function delete_membet(member_id){
       window.location.href = "<?php echo ROOT_FOLDER ?>/controller_name/delete/" +member_id ;
 }

然后在控制器文件中编写如下函数......

public function delete($member_id)

 {

        $this->model_file->delete($member_id);

        redirect('home');

  }

在模型文件中写一个这样的函数......

   public function delete($member_id)

     {
         $query = "delete from members where member_id = $member_id";

            $res = $this->db->query($query);
      }
于 2013-02-19T06:15:45.257 回答