如何从mysql表中随机选择或随机播放?

时间:2014-10-16 10:05:41

标签: php html mysql random

我正在开设测验应用

  1. 图片1显示了index.php页面
  2. 图片2显示第一个问题
  3. 图3显示了第二个问题
  4. 图片4显示了第三个问题
  5. 图片5显示完成测验后的结果
  6. 图片6显示了数据库' quizzer'及其表格
  7. 图片7显示了'问题'表
  8. 图片8显示了'选择'表
  9. 此链接包含我已经完成的所有代码(和图像)

    https://www.mediafire.com/folder/g5ao7f5q0fe6y/quiz

    1.现在我的问题是如何从问题中随机选择问题'表 以及'选择' (通过向现有文件添加代码或创建新文件)。

    2.如果用户在开始之前刷新/重新加载页面('开始测验')或点击“再来一次”'完成测验后, 问题应该随机出现。

    3. 基本上我想在每次刷新时更改浏览器中出现的问题顺序。

    4.到目前为止我的工作如上所述......... 请帮我解决这个问题" RANDOM"问题 !!

    P.S - 通过在PHP中创建一个随机函数来检查会话中的重复问题是否可行 检查' id'问题,如果它是新的显示在页面上。

    如果是这样我应该怎么办,如果没有,那该怎么办?

3 个答案:

答案 0 :(得分:2)

您可以尝试 order by RAND()

RAND()是一个用于随机获取数据的mysql函数,您可以根据需要在上面的sql语句中添加条件。 我希望这会帮助你 保持编码

谢谢:)

答案 1 :(得分:1)

这不是一个完全合格的答案,但尝试将ORDER BY RAND() LIMIT 1添加到SQL查询中。这基本上是从MySQL中的表中检索随机条目的方法。从那以后,您可以使用该ID从该表中挑选答案。

答案 2 :(得分:0)

我知道你想要随机选择一个问题而你不想在一个会话中选择同一个问题(这是对的吗?)。 我建议创建问题出现序列并在用户开始测验时保存在$ _SESSION中。

---像这样---

$questions = array();
for ($i=0; $i < $total; $i++) {
    $questions[$i] = $i + 1;
}
$randomizedSequence = shuffle($questions);
$_SESSION['sequence'] = $randomizedSequence;

---像这样---

创建查询以根据参数&#39; n&#39;选择问题。问题.php。

---像这样---

$number = $_GET['n'] - 1;
$query = 'SELECT * FROM `questions`
          WHERE question_number = ' . $_SESSION['sequence'][$number];

---像这样---

我希望我能帮助你。