2016-12-11 2 views
0

Ich habe zwei Tabellen für dieses Projekt. Die Fragen Tabelle und die Antworten Tabelle. Und ich möchte, dass die question_id Feild Wert in der Tabelle Fragen das gleiche mit einem anderen Feldnamen eingefügt in Antworten Tabelle question_idMultiple-Choice-Quiz mit Codeigniter

Aber jedes Mal, wenn ich das tat eingefügt für alle Optionen sein, ich diese Ergebnisse erhielt:

Questions Table

Answers Table

Da u die question_ids sehen können, sind nicht die gleichen, und das ist nicht das, was ich will.

Hier ist mein Code: public function insert_correct_ans ($ answer1, $ answer2, $ ANSWER3, $ answer4) {

$ id = $ this-> db-> insert_id();

$this->db->query("INSERT INTO answers(
              question_id, 
              answer, 
              correct) 
            VALUES(
            '$lastID', 
            '$answer1', '1')"); 

    $this->db->query("INSERT INTO answers(
              question_id, 
              answer, 
              correct) 
            VALUES(
            '$lastID', 
            '$answer2', '0')"); 

    $this->db->query("INSERT INTO 
            answers(
              question_id, 
              answer, 
              correct) 
            VALUES(
             '$lastID', 
             '$answer3', '0')"); 

    $this->db->query("INSERT INTO 
            answers(
              question_id, 
              answer, 
              correct) 
            VALUES(
            '$lastID', 
            '$answer4', '0')"); 
} 
+0

was ist der Wert '$ lastID'. Und wie hast du seinen Wert? –

+0

Sie müssen auch die Frage ID auf diese Funktion senden. –

+0

Ich habe $ lastID den Wert von $ this-> db-> insert_id() – courage

Antwort

0

Zum Zeitpunkt der insert_correct_ans() auch id.So und kopieren Sie die folgende code.Rather Datenschreib INSERT-Abfrage wiederholt, um die Anordnung und Benutzer CI Datenbank Insert-Funktion übergeben Sie die Frage an die Funktion aufrufen.

   <?php 
     public function insert_correct_ans($que_id,$answer1, $answer2, $answer3, $answer4) 
      { 
      $data=array(
       array(
       'question_id'=>$que_id, 
       'answer'=>$answer1, 
       'correct'=>'1' 
       ), 
       array(
       'question_id'=>$que_id, 
       'answer'=>$answer2, 
       'correct'=>'0' 
       ), 
       array(
       'question_id'=>$que_id, 
       'answer'=>$answer3, 
       'correct'=>'0' 
       ), 
      array(
       'question_id'=>$que_id, 
       'answer'=>$answer4, 
       'correct'=>'0' 
       ) 
      ); 
      } 
      $this->db->insert('answers',$data); 
      ?> 
+0

könnte das bedeuten, dass ich die Frage id selbst eingeben müsste? – courage

+0

Ja, Sie müssen question_id beim Einstellen der Antworten setzen. –

+0

Ok, lemme es versuchen ... Ich werde in einer Minute auf Sie zurückkommen – courage