从数据库中删除行

时间:2015-05-25 18:35:28

标签: php sql codeigniter

我有一个有成员的表,我想要它,所以当我点击一个按钮时,它会删除该成员。我正在使用codeigniter和我的sql

会员模型

 function getMembers(){
 $this->db->select('tblMember.strFirstname, tblMember.strLastname');
 $this->db->from('tblMember');
 }

控制器

public function getAllMembers()
{
    $this->load->model('Member_model');
    $data['members'] = $this->Member_model->getMembers();
    $this->load->view('member_view', $data);
}

member_view

    <table class="table table-striped">
        <thead>
        <tr>
            <th>&nbsp;&nbsp;First Name #</th>
            <th>&nbsp;&nbsp;Last Name</th>
        </tr>
        </thead>
        <tbody class="table-text">
        <?php
        $i = 0;
        foreach($members as $row):
            $i++;
            echo "<tr>";
            echo "<td>" . $row->strFirstname . "</td>";
            echo "<td>" . $row->strLastname . "</td>";
  echo "<td style='padding-left:10px'><button type='button' class='btn btn-success'>Delete</button></td>";

    </table>

我需要它,所以当我点击删除按钮时,它会删除该成员 我想知道我该怎么做这个解释代码会很棒
感谢您的帮助:D

1 个答案:

答案 0 :(得分:0)

首先,在您的模型中,您还需要获取成员ID

$this->db->select('tblMember.id AS id,tblMember.strFirstname, tblMember.strLastname');

将tblMember.id更改为您的唯一列名称

然后在你的视图中再添加一个这样的块:

...
echo "<td>" . $row->strLastname . "</td>";
<td><a href="<?php echo base_url('mycontroller/delete_member/'.$row->id); ?>">Delete this member</a></td>
...

*请记得在上面的代码中根据需要更改 mycontroller / delete_member(粗体部分)

现在您需要向控制器添加一个方法:

function delete_member($id=NULL) {
    is_numeric($id) OR show_404();// or redirect
    $is_deleted = $this->Member_model->delete_member($id);
    if ($is_deleted) {
        // delete was successful, set a message or redirect or do something here
    } else {
    // deleting failed, set a message or redirect or do something here
    }
}

好的,现在你需要在你的Member_model()

中创建一个方法
function delete_member($id) {
$this->db->delete('tblMember', ['id'=>$id]);
return $this->db->affected_rows();
}

请勿忘记将[&#39; id&#39; =&gt; $ id]中的ID更改为您的列名称

在检索一行节目

时,你正在做的事情几乎相同