как передать данные в пост, чтобы мы могли назвать идентификатор? - PullRequest
0 голосов
/ 17 июня 2019

как передать данные в посте, чтобы мы могли вызвать идентификатор?

, потому что мы пытаемся получить "qtopic_id" вопроса, но он не работает, и он продолжает давать мне нользначение.

Я попытался объявить qtopic_id = 19, чтобы проверить, сохраняется ли оно в столбце qtopic_id.Мне не нужно указывать конкретное значение идентификатора для сохранения в следующем столбце, чтобы он не сохранялся только на этом конкретном идентификаторе, но вместо этого он будет сохранять на соответствующем qtopic_id.

controller

public function addChoices(){
$this->form_validation->set_rules('ques','Question','required');
$this->form_validation->set_rules('ch_des1','Choices','required');
$this->form_validation->set_rules('ch_des2','Choices','required');
$this->form_validation->set_rules('ch_des3','Choices','required');
$this->form_validation->set_rules('ch_des4','Choices','required');
$this->form_validation->set_rules('ans','Answer','required');
$this->form_validation->set_error_delimiters('<div class="text-danger">','</div>');




if($this->form_validation->run() ){
echo $qtopic_id ;
$data['ques']    = ($this->input->post('ques'));
$data['ch_des1'] = ($this->input->post('ch_des1'));
$data['ch_des2'] = ($this->input->post('ch_des2'));
$data['ch_des3'] = ($this->input->post('ch_des3'));
$data['ch_des4'] = ($this->input->post('ch_des4'));
$data['ans']     = ($this->input->post('ans'));

if($id=$this->queries->registerChoices($data) )
{

$this->session->set_flashdata('message','Test Added Succesfully');
return redirect('admin/testtwo');
}
else {
$this->session->set_flashdata('message','Failed to Add Test');  
}
return redirect('admin/testtwo');
}   

else {
$this->addQuestion();
}   

}


}

модель:

---- обновлено ---

  public function registerChoices($data) {
              echo $this->input->post('qtopic_id');


            $question_arr = [
                'ques' => $data['ques'],
                'qtopic_id' => 19


            ];

            $choices_arr = [
                'ques'    => $data['ques'],
                'ch_des1' => $data['ch_des1'],
                'ch_des2' => $data['ch_des2'],
                'ch_des3' => $data['ch_des3'],
                'ch_des4' => $data['ch_des4'],
                'ans'     => $data['ans']

            ];

   //          echo "<pre>";
            // var_dump($question_arr);
            // var_dump($choices_arr);
            // exit;

            $this->db->insert('tbl_choices',$choices_arr);
            $this->db->insert('tbl_question',$question_arr);
                    return $this->db->insert_id();


        }

сообщения об ошибках, с которыми я столкнулся

1 Ответ

0 голосов
/ 17 июня 2019

Ваш код для выбора регистра немного неясен. insert_id не является функцией, которая принимает данные и не выполняет вставку, она просто возвращает последний вставленный идентификатор после выполнения запроса на вставку. Я думаю, что вы хотите что-то вроде:

function registerChoices($data) {

    if ($this->db->insert('tablename', $data)) {
        return $this->db->insert_id();
    }
    return false;

}

Использование:

$last_insert_id = $this->somemodel->registerChoices($data);

if ($last_insert_id) {
    echo "item with id $last_insert_id was created!";
} else {
    show_error('Query failed!');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...