使用CodeIgniter删除数据库中的行

时间:2016-03-15 01:02:40

标签: php codeigniter mysqli

为什么不删除?当我按下删除时,我应该得到我要删除的行的ID。

查看:

<?php
foreach ($cust_data as $row) {
    echo '<tr class="even pointer">';
    echo '<td class="a-center ">';
    echo '<input type="checkbox" class="tableflat">';
    echo '</td>';
    echo'<td>' . $row->cust_id . '</td>';
    echo'<td>' . $row->firstname . '</td>';
    echo'<td>' . $row->lastname . '</td>';
    echo'<td>' . $row->email . '</td>';
    echo'<td>' . $row->contact_number . '</td>';
    echo'<td>' . $row->address . '</td>';
    echo'<td>';
    echo '<a href="' . base_url() . 'administrator/delete?id=' . $row->cust_id . '">Delete</a>';
    echo'</td>';
    echo'</tr>';
}
?>    

型号:

public function delete($id) {
    $this->db->delete('customer', array('cust_id' => $id));
}

控制器:

public function delete() {
    $this->load->model('admin_model');
    $this->admin_model->delete($this->input->get('cust_id'));
    $this->customer();
}

1 个答案:

答案 0 :(得分:1)

我注意到您使用在您的代码中发布了echo '<a href="' . base_url() . 'administrator/delete?id=' . $row->cust_id . '">Delete</a>';的值:

get()

在您的控制器上,您使用名为cust_id的{​​{1}}:

$this->admin_model->delete($this->input->get('cust_id'));

您无法获得任何值,因为cust_id不是已发布值的名称。所以将cust_id改为id,如下例所示:

public function delete() {
    $this->load->model('admin_model');
    $this->admin_model->delete($this->input->get('id'));
    $this->customer();
}