我正在使用 PHP 和 MySQL 开发一个基于时间的测验项目,并存储结果,如下表所示。
表格:得分
sid |Question_ID|answer |is_correct|User_ID|score|score_calculated|time_taken
1 |10 |Manager|Y | 1 |200 | 0 |3.2
2 |10 |Emp |N | 2 |200 | 0 |2.4
3 |10 |Manager|Y | 3 |200 | 0 |6.5
4 |10 |Other |N | 4 |200 | 0 |8.3
5 |11 |Yellow |N | 1 |300 | 0 |2.3
5 |11 |green |N | 2 |300 | 0 |5.8
6 |11 |Red |Y | 3 |300 | 0 |6.4
7 |11 |Red |Y | 4 |300 | 0 |9.1
分数列包含每个问题的分数
分数计算基于:
- 正确答案所用最短时间 = 100%
- 正确答案使用的第二个最短时间 = 75%
- 正确答案使用的第三个最短时间 = 50%
- 其他正确答案 = 25%
- 其他错误答案 = 0
需要在 **“score_calculated”** 字段上更新上述计算值。 任何人都可以建议一个查询或方法来解决评分过程吗?
最佳答案
解决您的问题的最佳方法是 Mysql 触发器。 在每次提交答案时(插入后),您可以调用触发器。
关于PHP 和 MySQL 基于时间的测验应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17475401/