PHP和MySQL基于时间的测验应用程序
我正在使用PHP和MySQL进行一个基于时间的测验项目,并将结果存储在下表中 表格:得分PHP和MySQL基于时间的测验应用程序,php,mysql,sql,database,Php,Mysql,Sql,Database,我正在使用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
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
有人能提出一个问题或方法来解决评分过程吗?解决问题的最好方法是MysqlTrigger。
每次提交答案时(插入后),您都可以调用触发器。通过按所用时间对记录进行排序来解决问题。稍后我将使用查询编辑此内容 在插入结果之前,是否使用php进行计算?您可以用sql编写一个长而难看的
if()/case
结构,但维护起来会很难看。@VaibhavDesai@whizzkid:谢谢您的回复。这些计算只能在四个条目到达后进行,因为我们需要得到第一个最短时间、第二个最短时间等等。你能给我举个视图或触发器的例子吗。再次感谢。@whizzkid请查看以上评论。@MarcB谢谢您的回复。在当前情况下,这是不可能的,因为来自不同用户的四个条目应该在计算之前到达(以获取时间)。@mikecurl91这些计算只能在四个条目到达后进行,因为我们需要获取第一个最短时间、第二个最短时间等。你能给我举个例子吗