codeigniter:发布到数据库
我需要帮助发布一个问题到数据库的答案。但是,我在测试方面遇到了问题。如果有人能检查一切是否正确,我将不胜感激。我不确定表单(视图)中的post操作是否正确。找不到发布显示404页面的结果。我不知道它是URL还是服务器 希望这会有所帮助codeigniter:发布到数据库,codeigniter,post,codeigniter-2,Codeigniter,Post,Codeigniter 2,我需要帮助发布一个问题到数据库的答案。但是,我在测试方面遇到了问题。如果有人能检查一切是否正确,我将不胜感激。我不确定表单(视图)中的post操作是否正确。找不到发布显示404页面的结果。我不知道它是URL还是服务器 希望这会有所帮助 if($_POST){ $question = $this->input->post('question_add'); $answer1 = $this->input->post('answer_01');
if($_POST){
$question = $this->input->post('question_add');
$answer1 = $this->input->post('answer_01');
$answer2 = $this->input->post('answer_02');
$answer3 = $this->input->post('answer_03');
$answercorrect = $this->input->post('answer_correct');
$this->quiz->addQuestion($question, $answer1, $answer2, $answer3, $answercorrect);
redirect(base_url().'add');//redirect to your form
}else{
$this->load->view('form');//your view here
}
希望这能奏效
最后从模型addQuestion()返回1
function addQuestion($question,$answer1, $answer2, $answer3, $answercorrect) {
//add questions
$data = array (
'quizid' => 5,
'questions' => $question,
'answerid' => '4'
);
$this->db->insert('questions', $data);
//get id of questions
$this->db->select('id');
$this->db->where('question', $question);
$idQuestion = $this->db->get('questions');
//add answer
$data = array(
'questionid' => $idQuestion->row()->id,
'answer' => $answer1
);
$this->db->insert('answers',$data);
//add answer
$data = array(
'questionid' => $idQuestion->row()->id,
'answer' => $answer2
);
$this->db->insert('answers',$data);
$data = array(
'questionid' => $idQuestion->row()->id,
'answer' => $answer3
);
$this->db->insert('answers',$data);
$data = array(
'questionid' => $idQuestion->row()->id,
'answer' => $answercorrect
);
$this->db->insert('answers',$data);
//get id of questions
$this->db->select('id');
$this->db->where('answer', $answercorrect);
$idQuestion = $this->db->get('answers');
//update the question with the correct answer id
$data = array(
'answerid' => $question->row()->id
);
$this->db->where('question', $question);
$this->db->update('questions', $data);
return 1;
}
内部控制器
function add() {
$question = $this->input->post('question_add');
$answer1 = $this->input->post('answer_01');
$answer2 = $this->input->post('answer_02');
$answer3 = $this->input->post('answer_03');
$answercorrect = $this->input->post('answer_correct');
$query =$this->quiz->addQuestion($question, $answer1, $answer2, $answer3, $answercorrect);
if($query==1)
{
$this->load->view('form_question'); //where you want to redirect
}
}
您没有在add()方法中调用任何视图。如果您只是在测试,您可以从方法内部进行回显——但是,否则您需要调用一个视图,可以选择将$data传递给它$this->load->view('form_question',$data);你能帮我写一个命令来解决我的问题吗?你知道HTML支持输入数组吗?也许你可以试着用它们来代替,这会使你的代码看起来更好。如何实现这一点的例子是使用HTML的name属性,如下所示,它现在将成为你文章中的一个数组,玩一玩,我相信你会找到一个很好的干净的方法来实现这一点。通过codeigniter手册中的教程学习所有的基础知识,比如如何加载视图。