gpt4 book ai didi

php - 从 MySQL 表中获取 PHP 测验结果

转载 作者:行者123 更新时间:2023-11-28 23:57:38 26 4
gpt4 key购买 nike

我有一个用 PHP 创建的多选题测验,它将答案发布到 MySQL 中的一个表中。没有正确答案。有9个问题。问题是单选按钮,名称从 a 到 i,多个答案的值从 1 到 4。这是以下形式:

避免支付公共(public)交通费用。
1. 从来没有理由。
2. 很少有理由。
3. 有时是有道理的。
4. 总是合理的。

如何获取这两种形式的结果:

  1. 在所有 9 个问题中选择了多少个值 1 或 2 或 3 或 4。
  2. 所有选定值的总和。

这是表格:

CREATE TABLE `tests`.`integrity` 
( `id` INT(11) NOT NULL AUTO_INCREMENT ,
`name` VARCHAR(255) NOT NULL ,
`q1` VARCHAR(255) NOT NULL ,
`q2` VARCHAR(255) NOT NULL ,
`q3` VARCHAR(255) NOT NULL ,
`q4` VARCHAR(255) NOT NULL ,
`q5` VARCHAR(255) NOT NULL ,
`q6` VARCHAR(255) NOT NULL ,
`q7` VARCHAR(255) NOT NULL ,
`q8` VARCHAR(255) NOT NULL ,
`q9` VARCHAR(255) NOT NULL ,
PRIMARY KEY (`id`)) ENGINE = MyISAM;

$sql = "INSERT INTO integrity (name, q1, q2, q3, q4, q5, q6, q7, q8, q9)
VALUES ('$value1', '$value2', '$value3', '$value4', '$value5',
'$value6', '$value7', '$value8', '$value9', '$value10')";

结果示例可能是:你得了 9 分(如果所有问题选择的值都是 1 Never justified)

最多 15 个:你是一个非常诚实的人,真的想做正确的事。15 至 20你的正直高于平均水平,但你不介意偶尔违反规则。20 到 25当规则适合你时,你会很放松地遵守规则,但你并不是从根本上不诚实。25 岁以上 你不相信按规则生活,并且发现在适合你的时候打破它们很容易。

最佳答案

是的。这里有各种数据完整性问题。 varchar(255) 列中有数值。您已经排除了十个或更多问题的测验。而且您使用的是不提供事务完整性的 MyISAM。你最好希望你的某个用户没有名字“johnny droptables”(查一查)。

但别介意那些东西。我们开发人员提示它是因为我们的诚信。我们大多数人都应对过太多被黑的网站,无法让它通过。让我们回答您的问题。

您可以通过这种方式检索每个人的总分。这将按升序显示它们。

       SELECT name, q1+q2+q3+q4+q5+q6+q7+q8+q9 score
FROM integrity
ORDER BY q1+q2+q3+q4+q5+q6+q7+q8+q9 ASC, name

您可以像这样创建一个类似直方图的表格。这表明有多少人获得了每个不同的分数。

SELECT COUNT(*) number_of_people, scores.score
FROM (
SELECT name, q1+q2+q3+q4+q5+q6+q7+q8+q9 score
FROM integrity
ORDER BY q1+q2+q3+q4+q5+q6+q7+q8+q9
) scores
GROUP BY scores.score
ORDER BY COUNT(*) ASC, scores.score

注意。这将默默地忽略以字母开头的值。

我建议您先解决这个问题,然后再次询问有关对每个分数进行分类的问题。

关于php - 从 MySQL 表中获取 PHP 测验结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31141259/

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