无法删除复选框并更新codeignitrer

时间:2016-10-21 07:43:20

标签: php codeigniter codeigniter-3

以前我遇到过问题如何更新数据而不删除现有文件previous question,并且已经解决了。但是在我更新了数据并且我想删除其中一个数据之后我又遇到了问题,例如,删除名称jack并更新它但它不起作用?缺少什么

 id   |         name       |  class
--------------------------------------
 01   | smith, john, billy |   III
 02   | ana, jack, philips |   IV

控制器

$id = $this->uri->segment(3);;
$this->my_model->update_name($id);

模型

$name = $this->input->post('name');                     
$delete = $this->input->post('delete');

for ($i=0; $i < count($delete) ; $i++)  { 
        $this->db->where('name', $delete[$i]);
        $this->db->delete('mytable');
}

$this->db->set('name', "CONCAT(name,'".$name."')", FALSE);                  
$this->db->where('id', $id);
$this->db->update('mytable');

浏览

<span class="button-checkbox">
    <button type="button" class="btn" data-color="danger">'.$row.'</button>
    <input type="checkbox" class="hidden" name="delete[]" value="'.row.'"/>
</span>

1 个答案:

答案 0 :(得分:0)

您无法使用输入jack值删除或更新,因为您使用的where()将转换为SQL语句

... WHERE name = 'jack'

但字段name仅包含值ana, jack, philips的一部分,因此比较结果为false。正如Blinkdamo所指出的,您需要首先规范化数据库模式。