从db获取单行,从行中删除一个元素并将该行更新回db

时间:2015-03-14 09:53:04

标签: mysql arrays codeigniter activerecord

我想从db获取一行,从行中删除一个元素并将该行更新回db。

我写了这段代码

$query = $this->db->get_where(TABLENAME, array('pin_code' => $pincode), 1);

$result = $query->result_array();

$array = $result[0]; 

if (($key = array_search($ccode, $array)) !== false) {
            unset($array[$key]);
} //$code is the value which i want to remove

$this->db->where('pin_code', $pincode);
$this->db->update(TABLENAME, $array); 

这是行

Array ( [pin_code] => 854101 [ccode_1] => 5806 [ccode_2] => [ccode_3] => [ccode_4] => [ccode_5] => [ccode_6] => [ccode_7] => [ccode_8] => [ccode_9] => [ccode_10] => [ccode_11] => [ccode_12] => [ccode_13] => [ccode_14] => [ccode_15] => [ccode_16] => [ccode_17] => [ccode_18] => [ccode_19] => [ccode_20] => [ccode_21] => [ccode_22] => [ccode_23] => [ccode_24] => [ccode_25] => [ccode_26] => [ccode_27] => [ccode_28] => [ccode_29] => [ccode_30] => ) 

我只想删除ccode_1(这不是固定取决于$ ccode值)值并将其更新回db。

但它没有显示出如上所述的预期结果。

1 个答案:

答案 0 :(得分:0)

您无需取消设置所需的索引即可获取该索引并应用更新

if (($key = array_search($ccode, $array)) !== false) {
$this->db->where('pin_code', $pincode);
$this->db->update(TABLENAME, array($key => ''));
} 
相关问题