簡體   English   中英

我如何使用php將輸入字段數組插入mysql

[英]How do i insert an array of input fields into mysql with php

我正在嘗試將動態生成的輸入字段的數組插入到我的數據庫中。 問題是插入在插入過程中變得混亂。 當表格中的“某些”字段留空時,某些記錄將插入錯誤的行中。 我在必須正確索引數組的地方加了紅色。 我不知道該怎么做。 有更好的方法嗎? 還是有辦法修復我的代碼。

我到處尋找幫助,但沒有找到任何幫助。 如果能從這里的專家那里得到一些幫助,我將不勝感激。

這是表格

                        <?php
                        while($row2=$coursefetch1->fetch()){


                          $iid = $row2['id'];
                          if($row2['type'] == 0){
                          echo '

                            <div class="tab-pane" id="'.$row2['id'].'">
                              <div class="row" align="center">

                              <b> '.$row2['question'].' </b><br>
                              <input type="hidden" name="question[]" value="'.$row2['question'].'">

                              <input type="hidden" name="test_id[]" value="'.$row2['test_id'].'">
                              <input type="checkbox" name="yanswer1[]" value="a"><span> '.$row2['a'].' </span><br>
                              <input type="checkbox" name="yanswer2[]" value="b"><span> '.$row2['b'].' </span><br>
                              <input type="checkbox" name="yanswer3[]" value="c"><span> '.$row2['c'].' </span><br>
                              <input type="checkbox" name="yanswer4[]" value="d"><span> '.$row2['d'].' </span><br>


                              </div>
                            </div>

                        ';
                      }


                      elseif($row2['type'] == 2){
                      echo '

                        <div class="tab-pane" id="'.$row2['id'].'">
                          <div class="row" align="center">

                          <b> '.$row2['question'].' </b><br>
                          <input type="hidden" name="question[]" value="'.$row2['question'].'">

                          <input type="hidden" name="test_id[]" value="'.$row2['test_id'].'">
                          <input type="radio" name="yanswer1[]" value="a"><span> '.$row2['a'].' </span><br>
                          <input type="radio" name="yanswer2[]" value="b"><span> '.$row2['b'].' </span><br>
                          <input type="radio" name="yanswer3[]" value="c"><span> '.$row2['c'].' </span><br>
                          <input type="radio" name="yanswer4[]" value="d"><span> '.$row2['d'].' </span><br>


                          </div>
                        </div>

                    ';
                  }

                          elseif($row2['type'] == 1){

                            echo '

                            <div class="tab-pane" id="'.$row2['id'].'">
                              <div class="row" align="center">

                              <b> '.$row2['question'].' </b><br>
                              <input type="hidden" name="question[]" value="'.$row2['question'].'">

                              <input type="hidden" name="test_id[]" value="'.$row2['test_id'].'">
                              <input type="text" name="yanswer1[]" value="">


                              </div>
                            </div>


                            ';




                          }
                        }



                        ?>

這是處理表格的文件

                    <?php
                    require "head.php";


                    if (isset($_POST['submit'])) {
                      $question_array = $_POST['question'];
                      $testid_array = $_POST['test_id'];
                      $answer_array1 = $_POST['yanswer1'];
                      $answer_array2 = $_POST['yanswer2'];
                      $answer_array3 = $_POST['yanswer3'];
                      $answer_array4 = $_POST['yanswer4'];
                      $i = 0;
                    for($i = 0; $i < count($question_array); $i++) {
                        $question = $question_array[$i];
                        $testid = $testid_array[$i];
                        $answer = $answer_array1[$i]."".$answer_array2[$i]."".$answer_array3[$i]."".$answer_array4[$i];

                        $enterscore = $achilles->prepare("INSERT INTO `user_answer` (test_id,question,your_answer)
                        VALUES (:t,:q,:a)");

                        $enterscore->bindparam(':t',$testid);
                        $enterscore->bindparam(':q',$question);
                        $enterscore->bindparam(':a',$answer);
                        $enterscore->execute();

                      }
                    }

                    ?>

...

<input type="hidden" name="test_id" value="'.$row2['test_id'].'">
<input type="radio" name="yanswer1" value="a"><span> '.$row2['a'].' </span><br>
<input type="radio" name="yanswer2" value="b"><span> '.$row2['b'].' </span><br>
<input type="radio" name="yanswer3" value="c"><span> '.$row2['c'].' </span><br>

...在其他地方以此類推

編輯:

if (!empty($_POST['submit'])) {

...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM