为了账号安全,请及时绑定邮箱和手机立即绑定

有没有办法在表的一个字段中插入多个数据,并且一个特定的数据在其字段上具有不同的值?代码点火器

有没有办法在表的一个字段中插入多个数据,并且一个特定的数据在其字段上具有不同的值?代码点火器

PHP
烙印99 2022-10-28 14:24:04
我正在制作一个测验应用程序,其中一个问题必须是正确的。我已经可以在我的表中插入多个数据,我遇到的问题是,我有一个特定的选择或答案,必须与其他选择或答案不同。该应用程序的屏幕截图以及我想要做什么这是我的桌子的样子table answersid | answer | correct 1 |  Apple |     1 2 |  Mango |     0 3 |  Melon |     01 表示正确答案,0 表示不正确。所以这是我的模型。我试图尝试获取作为值的单选按钮值并将1其插入数据库,但结果是,如果我添加另一个数据或多个数据。索引 0 或第一个数据是唯一可以插入的数据。我不能选择我可以检查的单选按钮,只能检查我可以检查的第一个按钮。// Insert questions    $field_question = array(        'question'=>$this->input->post('question'),    );    $this->db->insert('questions', $field_question);    // Insert Answers    $data_answer = $this->input->post('choice[]');    $data_is_correct = $this->input->post('checkChoice[]');    $value = array();    for($i = 0; $i < count($data_answer); $i++) {        $value[$i] = array(            'answer' => $data_answer[$i],            'correct' => $data_is_correct[$i],            'question_id' => $this->db->insert_id(),        );    }    $this->db->insert_batch('answers', $value);    if($this->db->affected_rows() > 0){        return true;    }else{        return false;    }如果我添加 3 个新数据,我的表会出现问题id | answer | correct 1 |  Apple |     1 2 |  Mango |     0 3 |  Melon |     0* New 3 Data Inserted  4 | Orange |     1 5 | Tomato |     0 6 | Grapes |     0我不能做出Tomato或Grapes成为我的答案,也不能将其作为值 1 仅橙色或第一个添加的数据。
查看完整描述

1 回答

?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

动态字段脚本


使变量val作为 checkChoice 的值,如下所示...


  <script>  

     $(document).ready(function(){  

          var i=1;  

          $('#add').click(function(){  

               var val =i;

               i++;  

               $('#dynamic_field').append(

                   '<tr id="row'+i+'">'+

                     '<td><input type="hidden" name="choiceHid[]" value="0" /></td>'+

                     '<td><input type="text" name="choice[]" placeholder="Enter your Choice" class="form-control" /></td>'+

                     '<td><button type="button" name="remove" id="'+i+'" class="btn btn-danger btn_remove"><span class="iconify" data-icon="dashicons:remove" data-inline="false"></span></button></td>'+

                     '<td>'+

                            '<div class="form-check">'+

                                '<input class="form-check-input" type="radio" name="checkChoice" id="checkChoice" value="'+val+'" />'+

                                        '<label class="form-check-label" for="exampleRadios1">'+

                                            'Make this as an Answer'+

                                        '</label>'+

                            '</div>'+

                     '</td>'+

                   '</tr>'

                   );  


          });  


          $(document).on('click', '.btn_remove', function(){  

               var button_id = $(this).attr("id");   

               $('#row'+button_id+'').remove();  

          });  


     });  

     </script>

看法


将 checkChoice 的初始值指定为 0,如下所示


<div class="form-check">

 <input class="form-check-input" type="radio" name="checkChoice" id="checkChoice" value="0" checked  />

    <label class="form-check-label" for="exampleRadios1">

        Make this as an Answer

    </label>

</div>

// 插入答案


$data_answer = $this->input->post('choice[]');

$data_is_correct = $this->input->post('checkChoice');



$value = array();


for($i = 0; $i < count($data_answer); $i++) {


          if($data_is_correct == $i) {

            $correct = 1;

          } else {

            $correct = 0;

          }

    $value[$i] = array(

        'answer' => $data_answer[$i],

        'correct' => $correct,

        'question_id' => $this->db->insert_id(),

    );

}


查看完整回答
反对 回复 2022-10-28
  • 1 回答
  • 0 关注
  • 114 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号