2016-01-09 119 views
0

我需要帮助发布一个问题到数据库的答案。但是,我遇到了测试问题。我希望有人能检查一切正确。我不确定表单(View)中的发布操作是否正确。发布显示404页面的结果未找到。我不是,如果它的URL或服务器。codeigniter:发布到数据库

+1

你是不是叫你的add()方法的任何意见。如果你只是测试,你可以从方法内部回显 - 但否则你需要调用一个视图,可选地传递$ data到它$ this-> load-> view('form_question',$ data); – cartalot

+0

你能帮助编写命令来解决我的问题吗? –

+0

你知道HTML支持输入数组吗?也许你可以尝试使用它们,它会让你的代码看起来更好,如何实现这一点的例子是使用HTML的name属性如下它会现在成为你的文章中的一个数组,玩一下,我相信你可以找到一个很好的干净的方式来实现这一点。 – killstreet

回答

0

希望这将有助于

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 
    } 
0

希望这会工作。

最后从模型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 
} 

}