2016-11-07 3 views
0

Ich möchte die Antworten meiner Quizanwendung in die Datenbank einfügen. Ich benutze Codeigniter. Die Quizfragen werden zufällig generiert. 10 Fragen werden dem Benutzer angezeigt. Das folgende ist mein Code:Wert des Optionsfelds mit Variablennamen in Datenbank einfügen

Der Blick

<div class="col-lg-8"> 
     <table class="table" style="width: 100%;"> 
      <?php 
      $i = 1;    
      echo form_open('Menu/submit_ans', array('name' => 'quiz')); 
      foreach ($quiz_array as $q){ 
      ?>  
      <td colspan="2"style="background-color: #337ab7;color:white;"> <h4>Question No. <?php echo $i?> </h4></td> 
      <tr> 
      <td colspan="2"><?php echo $q->ques;?></td> 
      <input hidden name="qid[]" type="text" value="<?php echo $q->qid;?>"> 
      <input hidden name="uid[]" type="text" value="<?php echo $user['id'];?>"> 
      </tr> 
      <tr> 
      <td><?php echo $q->ans_1;?></td> 
      <td><input type="radio" name="ans[<?php print $i; ?>]" value="1"></td> 
      </tr> 
      <tr> 
      <td><?php echo $q->ans_2;?></td> 
      <td><input type="radio" name="ans[<?php print $i; ?>]" value="2"></td> 
      </tr> 
      <tr> 
      <td><?php echo $q->ans_3;?></td> 
      <td><input type="radio" name="ans[<?php print $i; ?>]" value="3"></td> 
      </tr> 
      <tr> 
      <td><?php echo $q->ans_4;?></td> 
      <td><input type="radio" name="ans[<?php print $i; ?>]" value="4"></td> 
      </tr> 


      <?php 
       $i++; 
      } 
      ?> 
     </table> 
     <center><button class="btn btn-success" type="submit">Submit!</button></a></center> 
    </div> 
      <?php echo form_close();?> 

Der Controller:

function submit_ans(){ 
    $data = array(
    $q_array = $_POST['qid'], 
    $u_array = $_POST['uid'], 
    $ans_array = $_POST['ans'] 
    ); 
    $this->load->model('MyModel'); 
    $this->MyModel->insert_ans($data); 
} 

Das Modell

Funktion insert_ans ($ data) {

foreach($data as $answer) { 
    var_dump($answer); 

    } 

} 

Die vardump Ergebnis

// für Frage id

array (size=12) 
    0 => string '4' (length=1) 
    1 => string '12' (length=2) 
    2 => string '3' (length=1) 
    3 => string '6' (length=1) 
    4 => string '11' (length=2) 
    5 => string '7' (length=1) 
    6 => string '10' (length=2) 
    7 => string '2' (length=1) 
    8 => string '8' (length=1) 
    9 => string '1' (length=1) 
    10 => string '5' (length=1) 
    11 => string '9' (length=1) 

// für Benutzer-ID

array (size=12) 
    0 => string '1' (length=1) 
    1 => string '1' (length=1) 
    2 => string '1' (length=1) 
    3 => string '1' (length=1) 
    4 => string '1' (length=1) 
    5 => string '1' (length=1) 
    6 => string '1' (length=1) 
    7 => string '1' (length=1) 
    8 => string '1' (length=1) 
    9 => string '1' (length=1) 
    10 => string '1' (length=1) 
    11 => string '1' (length=1) 

// Antworten

array (size=12) 
    0 => string '1' (length=1) 
    1 => string '1' (length=1) 
    2 => string '3' (length=1) 
    3 => string '4' (length=1) 
    4 => string '2' (length=1) 
    5 => string '2' (length=1) 
    6 => string '3' (length=1) 
    7 => string '3' (length=1) 
    8 => string '4' (length=1) 
    9 => string '3' (length=1) 
    10 => string '2' (length=1) 
    11 => string '3' (length=1) 

ich alle Ergebnisse immer bin, dass ich von Frage wollen ID zu Antworten. Wie kann ich diese Tabelle jetzt in die Datenbank einfügen?

Es folgt mein Tisch aus 4 Säulen aus:

ans_id - auto inkrementellen user_id - Benutzer, der den Fragen q_id beantwortet - die Frage beantwortet ans_att - die Antwort

Antwort

0

den Radio Namen Einstellung Versuchen als Array:

<input type="radio" name="asw[]" value="1"></td> 
<input type="radio" name="asw[]" value="1"></td> 

und für in Ihrem db sind, versuchen Sie diese php:

$asw = $_POST['asw']; 

foreach($asw as $answer){ 
mysql_query("insert into table_name (col_name) values ('". $aswer ."')"); 
} 

Wollen Sie das?

0

Sie können keinen zufälligen Namen haben, weil dieser zuletzt in Ihre Daten eingefügt wird, so dass Sie versuchen können, Namen, Zufallswerte und ID zu korrigieren. Versuchen Sie dieses mit Java-Script-Funktion „type =“ radio“name =‚als‘value =‚‘> aber könnten Sie bitte geben Sie uns Ihre Tabelle mehr klar

+0

überprüfen Sie bitte meine bearbeiten –

+0

dies ist ein Kommentar zu sein, keine Antwort – RST

Verwandte Themen