gpt4 book ai didi

php - 简单的 PHP MySQL 查询分组任务

转载 作者:行者123 更新时间:2023-11-29 12:29:54 24 4
gpt4 key购买 nike

我想使用 PHP 和 jQuery 创建一个测验,问题和答案存储在数据库表中。以下是存储在我的数据库表中的值的示例:

Question | Answer | Correct
What color is an apple? | red | 1
What color is an apple? | yellow | 2
What color is an apple? | blue | 2

这是我的查询...

$stm = $pdo->prepare("SELECT Q.URL, Q.Question, Q.Answer, Q.Correct
FROM 1_quiz Q");
$stm->execute(array(
'MyURL'=>$MyURL
));

while ($row = $stm->fetch())
{
$URL = $row['URL'];
$Question = $row['Question'];
$Answer = $row['Answer'];
$Correct = $row['Correct'];

$Q1[] = '<div id="'.$URL.'" style="">'.$Question.'
<div><input type="radio" name="'.$Question.'" id="" value="" />
<label for="">'.$Answer.'</label></div>
</div>';
}

echo join ($Q1, '');

正如预期的那样,它显示以下内容:

What color are apples?
red
What color are apples?
yellow
What color are apples?
blue
Where is Paris?
Russia
Where is Paris?
Alaska
Where is Paris?
France

如何修改代码,使其显示如下,每个问题仅显示一次?:

What color are apples?
red
yellow
blue

我尝试了 GROUP BY Q.Question 和 GROUP BY Q.Answer,但这些都不起作用。

显而易见的答案是将问题存储在单独的数据库表中,我最终可能被迫这样做。不过,我想尝试将所有内容都保存在一个电子表格/数据库表中,因为这样更容易管理。

最佳答案

移至新表是最好的选择,但您仍然可以在这里实现您想要的目标。

您将需要两个查询,在第一个查询中您会得到不同的问题列表,例如:

$stm2 = $pdo->prepare("SELECT distinct Q.URL, Q.Question FROM 1_quiz Q"); 
$stm2->execute(array('MyURL'=>$MyURL));

然后你将有两个循环,外层循环只循环问题。内部循环使用与问题中相同的查询,但从外部循环中过滤当前问题的答案。

关于php - 简单的 PHP MySQL 查询分组任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27714820/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com