【问题标题】:How to random the choices in php如何在php中随机选择
【发布时间】:2015-11-28 21:13:26
【问题描述】:

我正在创建一个包含 10 个问题的随机生成的测验。生成随机问题很好,但我也想随机显示选择,与问题相同。

这是我目前正在使用的代码:

<?php
  generate();
  function generate(){
    include('connection.php');
    mysql_select_db('exam');
    $result=mysql_query("SELECT * FROM questionaires
                         INNER JOIN choices ON questionaires.q_id=choices.q_id
                         WHERE RAND()<(SELECT ((10/COUNT(*))*10) FROM questionaires)
                         ORDER BY RAND() LIMIT 10");
    $c=0;
    echo "<table border='3' align='center' bordercolor='#CCCCCC'>
            <tr>
              <th>Number:</th>
              <th>Question</th>
            </tr>
          ";

    while($row = mysql_fetch_array($result)){
      $c++;
      echo "<tr>";
      echo "<td>" . $c . "</td>";
      echo "<td>";
      echo $row['question'] . "<br>";
      echo "<input type='radio' name='ans'>".$row['choice_a']."</input><br>";
      echo "<input type='radio' name='ans'>".$row['choice_b']."</input><br>";
      echo "<input type='radio' name='ans'>".$row['choice_c']."</input><br>";
      echo "<input type='radio' name='ans'>".$row['choice_d']."</input><br>";
      echo "</td>";
      echo "</tr>";
    //}
   //}
    }
    echo "</table>";
  }
?>

我们将不胜感激。

【问题讨论】:

  • 您可以将所有问题和/或答案添加到一个数组中,然后使用array_shuffle 方法对数组进行洗牌。
  • 即使我使用不同的表格进行问题和选择,也使用不同的表格来获得正确答案

标签: php mysql random


【解决方案1】:

你可以把脚本改成这样:

echo "<td>";
echo $row['question'] . "<br>";

$ans=array($row['choice_a'],$row['choice_b'],$row['choice_c'],$row['choice_d']);
shuffle($ans);

foreach ($ans as $choice) {
    echo "<input type='radio' name='ans'>".$choice."</input><br>";
} unset($choice);

echo "</td>";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-22
    • 2021-07-03
    • 1970-01-01
    相关资源
    最近更新 更多