Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
codeigniter:发布到数据库_Codeigniter_Post_Codeigniter 2 - Fatal编程技术网

codeigniter:发布到数据库

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');

我需要帮助发布一个问题到数据库的答案。但是,我在测试方面遇到了问题。如果有人能检查一切是否正确,我将不胜感激。我不确定表单(视图)中的post操作是否正确。找不到发布显示404页面的结果。我不知道它是URL还是服务器

希望这会有所帮助

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手册中的教程学习所有的基础知识,比如如何加载视图。