我尝试了很多事情,但是没有一个帮助我。 我有以下代码:
//Check to see if score is set_error_handler
if (!isset($_SESSION['score'])){
$_SESSION['score'] = 0;
}
if (!isset($_SESSION["number"]) || !count($_SESSION["number"])) {
$_SESSION["number"] = range(1, 4);
shuffle($_SESSION["number"]);
}
//Check if form was submitted
if($_POST){
$number = $_POST['number'];
$selected_choice = $_POST['choice'];
$next = array_pop($_SESSION["number"]);
$total=2;
//Get total number of questions
$query="SELECT * FROM `questions` LIMIT 2";
$results = $mysqli->query($query) or die($mysqli->error.__LINE__);
$total=$results->num_rows;
//Get correct choice
$q = "select * from `choices` where question_number = $number and is_correct=1";
$result = $mysqli->query($q) or die($mysqli->error.__LINE__);
$row = $result->fetch_assoc();
$correct_choice=$row['id'];
//compare answer with result
if($correct_choice == $selected_choice){
$_SESSION['score']++;
}
if($number == $total){
header("Location: final.php");
exit();
} else {
header("Location: formular1.php?n=".$next."&score=".$_SESSION['score']);
}
}
这部分
$total=2
是我找不到解决方案的地方。 当测验nr“ 2”显示时,按提交后,显示“ final.php”页面,并显示结果。 我需要做的是,我需要根据页面数而不是ID号来限制测验的次数。
例如,当显示10个页面时,则必须显示“ final.php”页面,而不是显示页面ID。
我对此感到很困惑。我已经尝试了很多东西,但是没有一个起作用。 我知道不是那么复杂,但对我来说却是如此。 谢谢您了解我
编辑:我已经尝试过
SELECT * FROM `questions` LIMIT 2
但不起作用