加密单选按钮数据

时间:2019-03-23 05:41:01

标签: javascript php jquery mysql ajax

我对数据随机化有一点问题。我目前正在制作一个在线考试系统,其中问题的顺序将是随机的,答案的顺序也将是随机的。但是现在我只能使用“随机排序”的Sql查询来随机化问题。但是对于答案的选择,我仍然无法将其随机化,有什么可以帮助我的吗?

这是我的结果 enter image description here

        my script

$html .= $d->soal.'<br>'.$tampil_media.'<div class="funkyradio">';

                        for ($j = 0; $j < $this->config->item('jml_opsi'); $j++) {
                            $opsi = "opsi_".$this->opsi[$j];
                            $checked = $arr_jawab[$d->id]["j"] == strtoupper($this->opsi[$j]) ? "checked" : "";
                            $pc_pilihan_opsi = explode("#####", $d->$opsi);

                            $tampil_media_opsi = (is_file('./upload/gambar_soal/'.$pc_pilihan_opsi[0]) || $pc_pilihan_opsi[0] != "") ? tampil_media('./upload/gambar_opsi/'.$pc_pilihan_opsi[0],'auto','auto') : '';

                            $pilihan_opsi = empty($pc_pilihan_opsi[1]) ? "-" : $pc_pilihan_opsi[1];

                            $html .= 
                            '<div class="funkyradio-success" onclick="return simpan_sementara();">
                            <fieldset class="radio">
                            <span class="text-primary">'.$this->opsi[$j].'.</span>
                            <input type="radio" id="opsi_'.strtoupper($this->opsi[$j]).'_'.$d->id.'" name="opsi_'.$no.'" value="'.strtoupper($this->opsi[$j]).'" '.$checked.'> 
                            <label for="opsi_'.strtoupper($this->opsi[$j]).'_'.$d->id.'">'.$pilihan_opsi.$tampil_media_opsi.'</label> 
                            </fieldset>
                            </div>';
                        }
                        $html .= '</div></div>';
                        $no++;

表sql enter image description here

1 个答案:

答案 0 :(得分:1)

由于答案似乎是按数字索引的,因此您可以通过创建索引值数组并对其进行混排,然后循环遍历这些值来对它们进行随机化处理。因此,请替换以下for语句:

for ($j = 0; $j < $this->config->item('jml_opsi'); $j++) {

具有:

$indexes = range(0, $this->config->item('jml_opsi') - 1);
shuffle($indexes);
foreach ($indexes as $j) {

Here's a demo上3v4l.org上的改组代码的结果。