1

誰かが助けてくれるなら、私は問題を抱えています。

<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"

}
4

2 に答える 2

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);
}
于 2012-12-10T13:26:32.273 に答える
0

This code is for CI but you can use it in core as well just put insert query with in your foreach.

$symbol_arr = $this->db->escape_str($this->input->post('symbols'));
foreach ($symbol_arr as $k=> $val) {
        $DataARR = array( 
               "symbol" => $val,
                "created" => date('Y-m-d h:i:s A'),
        );
    $this->common_model->insert_batch($DataARR);
}
于 2019-07-04T07:20:21.533 に答える