2012-12-10 33 views
1

我有問題,如果有人可以幫助將不勝感激。codeigniter通過選定的複選框插入多行

<input type="checkbox" name="symbols[]" value="1" /> 
.... and this line repeats 10-15 times with a different value 

模型

$data = array(
array('symbol_id' => $this->input->post('symbols')) 
); 
return $this->db->insert_batch('symbols', $data); 

我現在的問題是,是將所選擇的複選框的只有第一個值(在這種情況下,1),而忽略其他一切不插入其他複選框的新行(如價值3,5和9)。 你能給我一些建議嗎?

注意:我想實現的是爲每個複選框插入一個新行,所以我可以加入另一個表中包含符號圖像(表示圖像的id的複選框的值)。 如果您有任何其他方法可以做到這一點,非常受歡迎。 謝謝

編輯:這是的var_dump:

array(7) 

{ 

[0] => string(1) "8" 

[1] => string(1) "9" 

[2] => string(2) "10" 

[3] => string(2) "11" 

[4] => string(2) "12" 

[5] => string(2) "13" 

} 
+0

可能重複的[插入通過一個php陣列到MySQL的多個行(http://stackoverflow.com/questions/779986/insert-multiple-rows-via-a-php -array-into-mysql) –

回答

1

數據被髮送爲活動值的數組,因此,如果您將檢查1,3,5,10,20,在你$this->input->post('symbols');陣列,你將有array(1, 3, 5, 10, 20)

function InsertSymbols() { 
    $data = array(); 
    foreach($this->input->post('symbols') as $symb) { 
     $data[] = array('symbol_id' => $symb); 
    } 
    return $this->db->insert_batch('symbols', $data); 
} 
+0

感謝您的快速回復,但 不管用。告訴我數組字符串轉換 文件名:數據庫/ DB_active_rec.php和 未知列在 '字段列表' INSERT INTO'default_menus_details' '數組'('0','1','2','3 ')VALUES(Array,Array,Array,Array) 行號碼:1267 – lesandru

+0

不用擔心表名,在我的代碼中名稱與我在示例中發佈的名稱不同,我已經檢查過:) – lesandru

+0

哦,請在你的問題中發佈'var_dump($ this-> input-> post('symbols'))'輸出! –