【问题标题】:How do I generate a new quiz every time the page is refreshed?每次刷新页面时如何生成新测验?
【发布时间】:2013-12-02 20:09:54
【问题描述】:

我正在制作一个网站,它将进行一个测验,这将是一些选择题,我想知道是否有一种方法可以让我列出几个问题并且每次有人点击“参加考试”它会生成一个包含所有问题的新测验?另外我想确保我没有多次使用同一个问题?我该怎么做呢?请记住,我不是高级 Web 开发人员或任何其他人,因此如果您愿意,请保持答案简洁明了。无论如何,过去几周我计划做的和一直在做的事情是使用 PHP rand 函数,只做一组小测验,每当刷新页面时,它会选择一个介于 (1,15) 和 I 之间的数字正在为 ID 为 1、2、3 等的每个数字创建一个测验,但这是很多工作,我觉得有一种更好、更简单的方法来做到这一点。

请告诉我是否有更简单的方法来做到这一点(只使用 PHP 也不错)。谢谢!

【问题讨论】:

  • 将问题(或一些标识符)放入一个数组中,将数组打乱,并取前 n 项。

标签: php jquery random


【解决方案1】:

假设您有一个问题表,您要做的是从表中选择所有 id 并将它们存储在一个名为 $AllQuestionIds 的变量中,因此该变量应该如下所示,

$AllQuestionIds = [
    [0] => ['id' => 1],
    [1] => ['id' => 2],
    [2] => ['id' => 3]
]

然后当你在 $AllQuestionIds 上运行 shuffle 时,你的数组应该是这样的,

$AllQuestionIds = [
    [0] => ['id' => 2],
    [1] => ['id' => 3],
    [2] => ['id' => 1]
]

之后,对于测验的其余部分,您需要将此数组存储在会话中,然后当用户单击下一个问题时,从数组中提取下一个 id,检索问题并显示它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-10
    • 1970-01-01
    • 2017-04-06
    • 2012-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多