如何将多个选择框ID中的数据插入数据库

时间:2017-06-13 08:52:39

标签: php arrays codeigniter insert multipleselection

我的视图中有一个多选框,我正在使用Codeigniter框架。我想在我的多选框中插入由ID组成的值。

我从控制器中的多个select中获取值,使用:

$diagnosis = $this->input->post('tdiagnosis');
var_dump($diagnosis);

当我var_dump $diagnosis的值时,我得到了这个:

array(2) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
}

我想将这些值循环逐个插入到我的数据库中,这就是我所做的:

public function finish_checkup($patient_id,$queue_id,$checkup_id,$clinic_id) {
   $diagnosis = $this->input->post('tdiagnosis');
        for($i = 0;$i < count($diagnosis); $i++) {
            $data4 = array (
                'diagnosis' => $diagnosis[i],
                'check_up_id' => $checkup_id
            );
            $insert = $this->Mymodel->savetodb($data4);
        }
}

为什么我会收到此错误?

  

严重性:通知

消息:使用未定义的常量i -   假设&#39; i&#39;

2 个答案:

答案 0 :(得分:2)

改变它:

expect(expectedError).to.throw(Meteor.Error('example-error', 'There is no reason for this error :-)'))

'diagnosis' => $diagnosis[i],

您忘记添加'diagnosis' => $diagnosis[$i], 变量$,这就是通知i

的原因

答案 1 :(得分:0)

public function finish_checkup($patient_id,$queue_id,$checkup_id,$clinic_id) {
    $diagnosis = $this->input->post('tdiagnosis');
    $data['check_up_id'] = $check_up_id;
    foreach ($diagnosis as $diagnos) {
        $data['diagnosis'] = $diagnos;
        $insert = $this->Mymodel->savetodb($data);
    }

}