我是CodeIgniter的新手。如何删除CodeIgniter中的特定表行?我试图传递id
变量,但什么也没发生。
这是我的观点:
<tbody>
<?php foreach ($data as $row) { ?>
<tr>
<?php foreach ($row as $cell) { ?>
<td><?php echo $cell; ?></td>
<?php } ?>
<td><?php echo anchor('reports/delete_row',$this->lang->line("common_delete"),array('sale_id'=>'id')); ?></td>
</tr>
<?php } ?>
</tbody>
这是我的控制者:
public function delete_row()
{
$id = $this->input->get('id');
$this->load->model("reports/summary_sales");
$this->summary_sales->row_delete($id);
}
这是我的模特:
public function row_delete($id){
$this->db->delete('sales', array('id' => 'sale_id'));
}
我的var_dump($cell)
:
string(11) "Rp.-1980.00" string(9) "Rp.500.00"
这是我的var_dump($row)
:
array(5) {
[0]=> string(1) "1"
[1]=> string(10) "2016-01-30"
[2]=> string(8) "Rp.20.00"
[3]=> string(8) "Rp.20.00"
[4]=> string(11) "Rp.-1980.00"
}
array(5) {
[0]=> string(2) "13"
[1]=> string(10) "2016-02-01"
[2]=> string(10) "Rp.3000.00"
[3]=> string(10) "Rp.3000.00"
[4]=> string(9) "Rp.500.00"
}
答案 0 :(得分:2)
试试这个。肯定会工作
public function row_delete($id)
{
$this->db->where('sale_id',$id);
$this->db->delete('sales');
}
答案 1 :(得分:1)
桌子上的字段名称是什么?
id
或sale_id
?
问题似乎在这里
public function row_delete($id){
$this->db->delete('sales', array('id' => $id));
}
// or
public function row_delete($id){
$this->db->delete('sales', array('sale_id' => $id));
}
编辑:可能问题出在您的<a>
标记中,
你应该好像你做得不好
这样做并连接$ row [0](似乎是你的id
)。
查看强>
<?php echo anchor('reports/delete_row/'.$row[0],$this->lang->line("common_delete"),array('sale_id'=>'id')); ?>
//-----------------------------------^^^^^^^^^^
//------------------------your row id goes here
确保它很好地到达您的控制器,我还建议您更改控制器功能并添加参数$id
<强>控制器强>
public function delete_row($id)
{
//$id = $this->input->get('id');
$this->load->model("reports/summary_sales");
$this->summary_sales->row_delete($id);
}
希望这有帮助