在php中单击next display next row时,如何一次显示一行?
我创建了一个页面(exam.php),在这里我想逐一显示问题 当学生提交答案后单击“下一步”时,我希望它显示下一个问题在php中单击next display next row时,如何一次显示一行?,php,Php,我创建了一个页面(exam.php),在这里我想逐一显示问题 当学生提交答案后单击“下一步”时,我希望它显示下一个问题 <?php if(!isset($_SESSION['qno'])) $_SESSION['qno'] = 1; else{ if(isset($_POST['next'])) { $_SESSION['qno'] += 1; } }
<?php
if(!isset($_SESSION['qno']))
$_SESSION['qno'] = 1;
else{
if(isset($_POST['next']))
{
$_SESSION['qno'] += 1;
}
}
$sql ="select * from question where question_id= ' ".$_SESSION['qno']." ' ";
$query=mysql_query($sql);
while($row = mysql_fetch_assoc($query))
{
$question =$row['question'];
$op1 = $row['option1'];
$op2 = $row['option2'];
$op3 = $row['option3'];
$op4 = $row['option4'];
}
?>
它可以工作,但在这段代码中,我使用question_id来显示数据。问题出现后,当管理员删除一些问题,它是不工作的,因为问题的id差距
我初始化问题_id=1;那么这个问题的最佳解决方案是什么呢?您可以使用LIMIT来选择问题,而不是问题ID
select *
from `question`
ORDER BY `question_id`
LIMIT $SESSION[$q_no],1;
您可以使用LIMIT来选择问题,而不是问题ID
select *
from `question`
ORDER BY `question_id`
LIMIT $SESSION[$q_no],1;
首先,您必须将当前id从每个页面转移到下一个页面。您是通过
$\u会话[“qno”]
完成的
现在,您必须更改查询并运行此程序:
$sql ="select top 1 * from question where question_id>{$_SESSION['qno']} order by question_id";
$query=mysql_query($sql);
while($row = mysql_fetch_assoc($query))
{
$_SESSION['qno']=$row["question_id"];
$question =$row['question'];
$op1 = $row['option1'];
$op2 = $row['option2'];
$op3 = $row['option3'];
$op4 = $row['option4'];
}
首先,您必须将当前id从每个页面转移到下一个页面。您是通过
$\u会话[“qno”]
完成的
现在,您必须更改查询并运行此程序:
$sql ="select top 1 * from question where question_id>{$_SESSION['qno']} order by question_id";
$query=mysql_query($sql);
while($row = mysql_fetch_assoc($query))
{
$_SESSION['qno']=$row["question_id"];
$question =$row['question'];
$op1 = $row['option1'];
$op2 = $row['option2'];
$op3 = $row['option3'];
$op4 = $row['option4'];
}
您还应该改为使用mysqli_uu函数。您也应该改为使用mysqli_u函数。好的,但在提交上一个问题后如何显示下一个问题?在显示的页面或生成该问题的代码中,增加$q_uno.返回,减量。可以,但在提交上一个问题后如何显示下一个问题?在显示的页面或生成该问题的代码中,增加$q_no。要返回,请减量。不要忘记投票和接受作为正确答案。不要忘记投票和接受作为正确答案。