获取mysql数据库的行id到onclick函数并使用codeigniter传递给函数

时间:2013-02-19 05:51:00

标签: php mysql codeigniter phpmyadmin

嘿伙计我是 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');
    }

3 个答案:

答案 0 :(得分:0)

您在点击事件中调用了javascript函数...但是您在发布的问题中没有任何功能..

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

无论如何我认为你不需要javascript函数你可以在网址中传递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-&gt; db-&gt; delete()=&gt;第一个参数是表名,第二个是where子句。您还可以使用where()或or_where()函数,而不是将数据传递给函数的第二个参数。

docs此处

答案 1 :(得分: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);
      }

答案 2 :(得分: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;
    }