我一直在和jQuiz一起进行测验:http://www.fatihacet.com/lab/jQuiz/
如果您参加考试,您会看到它以90/100的格式显示您的分数(只有四个问题)。
如何将用户获得的分数传递给变量然后执行sql和IF语句?
在jQuiz.js文件中,底部有以下代码:
$('.btnShowResult').click(function(){
$('#progress').width(300);
$('#progressKeeper').hide();
var results = jQuiz.checkAnswers();
var resultSet = '';
var trueCount = 0;
for (var i = 0, ii = results.length; i < ii; i++){
if (results[i] == true) trueCount++;
resultSet += '<div> Question ' + (i + 1) + ' is ' + results[i] + '</div>'
}
resultSet += '<div class="totalScore">Your total score is ' + trueCount * 20 + ' / 100</div>'
$('#resultKeeper').html(resultSet).show();
})
我试过
$Count = var results;
if($Count >= "90")
{
$award = $db->exec("UPDATE users SET test='passed' WHERE username='$username'");
}
我觉得我有正确的想法,但我只是缺少一些关键的东西,因为它不起作用或做任何事情。感谢您给我的任何指导或帮助。
答案 0 :(得分:1)
你是从错误的角度来看这个。
还请确保$ username来自您信任的来源(即不是客户)。否则你需要担心SQL注入。即使你相信它,你也需要确保它不包含撇号。你应该真的使用prepared statements/parameterised queries。