2013-01-07 33 views
-1

我在更新數據庫中的行時遇到了一些問題。複選框數組,無法更新foreach中的多行

我有多個複選框

<input type="checkbox" name="checkbox[]" value="75"> 
<input type="checkbox" name="checkbox[]" value="76"> 
<input type="checkbox" name="checkbox[]" value="77"> 
<input type="checkbox" name="checkbox[]" value="78"> 

的形式,現在,我想更新與複選框選中的行。 列名是「pm_id」,表名是「pm」。 「to_removed」是我希望更新的列名。

$data = array(
    'to_removed' => 1 
); 
$checked = $this->input->post('checkbox'); 
foreach($checked as $check) 
{    
    $this->db->where('pm_id', $check); 
$this->db->update('pm', $data); 

} 

現在,即使我選擇每個複選框,它只會刪除一個。可能是什麼問題呢?

+0

你可以在你的db類中提供一些見解嗎?因爲它對我來說看起來很不清楚它的工作原理。它似乎用更新函數的where子句做了一些魔術,但那是什麼魔法?另外,你有沒有嘗試在$ checked數組上使用var_dump(),然後看看裏面究竟是什麼? – kokx

+0

似乎需要相同的值, array 0 => string'82'(length = 2) 1 => string'82'(length = 2) – Zacharias

回答

-1

剛剛發現問題。似乎每個複選框都有相同的值:D

編輯:我的意思是,上面的代碼不是我的。我只有其他的價值。