【问题标题】:Displaying Data Randomly in PHP From Database在 PHP 中随机显示数据库中的数据
【发布时间】:2020-01-26 22:21:20
【问题描述】:

我正在为 MCQS(多项选择题)构建一个简单的 PHP 页面。我正在使用 MySQL 数据库检索数据。我想在随机顺序中使用样式表显示选项/替代项哪个是正确的。

$result = $conn->query($sql);
if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "<hr><div id=q1>". $row["field_question_value"]."</div>";
        echo "<div id=a1>". $row["field_correct_answer_value"]."</div>";
        echo "<div id=a2>". $row["field_wrong_answer_1_value"]."</div>";
        echo "<div id=a2>". $row["field_wrong_answer_2_value"]."</div>";
        echo "<div id=a2>". $row["field_wrong_answer_3_value"]."</div>";
        echo "<div id=a2>". $row["field_wrong_answer_4_value"]."</div>";
    }

有可能吗?

【问题讨论】:

  • 你可能会更好地使用 MySQL 的能力来随机化结果与ORDER BY RAND()。理想情况下,网络源中的任何内容都不应表明哪个是正确答案,因为这意味着人们可以作弊。
  • ORDER BY RAND() 也会随机化问题位置。我不想隐藏源代码,因为它是一个简单的页面,显示带有答案的 mcqs。与此类似:fgstudy.com/mcqs/…

标签: php mysql


【解决方案1】:
($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
//FOR RANDOMIZATION OPTION COLLECTING DATA IN ARRAY AND SHUFFLING THEM
$corr = "<div id=a1>" . $row["field_correct_answer_value"] . "</div>";
$wor1 = "<div id=a2>" . $row["field_wrong_answer_1_value"] . "</div>";
$wor2 = "<div id=a2>" . $row["field_wrong_answer_2_value"] . "</div>";
$wor3 = "<div id=a2>" . $row["field_wrong_answer_3_value"] . "</div>";
$wor4 = "<div id=a2>" . $row["field_wrong_answer_4_value"] . "</div>";
$opt = array($corr, $wor1, $wor2, $wor3, $wor4,);
$opt_ran = shuffle($opt);

echo "<hr><div id=q1>". $row["field_question_value"]."</div>";
//FOR DISPLAYING RANDOM OPTIONS
foreach ($opt as $number) {
echo $number;
}
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-05
    • 1970-01-01
    • 2015-05-18
    • 2014-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多