1
我要構建一個調查表單生成器。表格中的name
屬性是來自數據庫的動態。所以我不知道任何輸入元素的name
。從數據庫中,我已經生成了表單及其工作,但是我提交多個複選框值並存儲到數據庫時遇到問題。處理codeigniter中的多個複選框陣列
我想:
查看
// $inputtype, $name comes from database.
<input type="$inputtype" name="$name"[]>
// I can fetch values of all checked option and loop through it and convert it into string using explode and insert into database. Thats not a big deal.
但是,問題是name
屬性是從數據庫的動態。在運行時我不知道name
attr。所以我不能做$this->input->post("checkbox_name");
。因此,我通過創建運行時窗體所需的數據庫字段,將表單數據直接插入到數據庫中。並通過這樣插入表單數據:
$this->input->post(); //directly to model.
但是,當我試圖插入多個複選框陣列相同的方式,它會拋出錯誤Array to string conversion
在笨庫mysql/mysql_driver.php
。我該如何克服這個問題。請幫忙。
更新
陣列I表單提交後得到$this->input->post()
array
'first_name' => string 'sushil ' (length=7)
'last_name' => string 'shrestha' (length=8)
'gen' => string 'Male' (length=4)
'hobbies' =>
array
0 => string 'gaming' (length=6)
1 => string 'football' (length=8)
2 => string 'cricket' (length=7)
'language' => string 'IOS' (length=3)
但我的愛好陣列不存儲直接到數據庫中。
嘗試'$ postdata = $ this-> input-> post(); print_r($ postdata);' –
這給了我所有具有鍵值對的表單數據的數組。在多個複選框的情況下它使表單數據數組內的另一個子數組。 – user254153
然後發佈該數組,在這裏你會得到你的'複選框'的名稱attr –