嗯,我有一个页面,我想一个接一个地显示数据库中存储的项目。一个接一个的意思是点击一个按钮,下一个项目就会出现(顺便说一下,在我的情况下,项目是问题)。
所以我写了代码。我遇到的问题是循环只工作了一次。我的意思是,当单击“下一步”按钮时,我会显示下一个项目,但当我再次单击“下一步”时,什么都不会发生。这是密码。。
<?php
session_start();
$connection = mysqli_connect("localhost", "root", "", "oes_db");
$_SESSION['qno'] = 0;
if (!isset($_SESSION['qno']))
$_SESSION['qno'] = 1;
else {
if (isset($_POST['next'])) {
$_SESSION['qno'] += 1;
}
}
$select = "select * from oes_question where que_id='" . $_SESSION['qno'] . "'";
$result = mysqli_query($connection, $select);
if ($result) {
while ($row = mysqli_fetch_array($result)) {
$qno = $row['que_id'];
$question = $row['que_desc'];
$op1 = $row['ans1'];
$op2 = $row['ans2'];
$op3 = $row['ans3'];
$op4 = $row['ans4'];
$answer = $row['true_ans'];
}
}
?>
<html>
<body>
<form name="exam" method="post" action="que.php">
<!--My Current page name is "exam.php" -->
<?php echo $question ?> <br>
<input type="radio" name="question1" value="op1"> <?php echo $op1; ?> <br>
<input type="radio" name="question1" value="op2"> <?php echo $op2; ?> <br>
<input type="radio" name="question1" value="op1"> <?php echo $op3; ?> <br>
<input type="radio" name="question1" value="op1"> <?php echo $op4; ?> <br>
<input type="submit" name="previous" value="Previous">
<input type="submit" name="next" value="Next">
</form>
</body>
</html>
2条答案
按热度按时间7tofc5zh1#
您正在覆盖
$_SESSION['qno']
在每一次呼叫中0
在第三行。首先,这使得变量集!isset($_SESSION['qno'])
永远平等false
. 所以你总是走进else
当你有时间的时候,加1到0$_POST['next']
,也就是说除了第一次通话以外的每一次。4uqofj5v2#
问题是你的第三行,总是你提交表单,你的会话被设置为0,当你和+=1,总是放1。
尝试