在php中单击next display next row时,如何一次显示一行?

在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; } }

我创建了一个页面(exam.php),在这里我想逐一显示问题

当学生提交答案后单击“下一步”时,我希望它显示下一个问题

 <?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。要返回,请减量。不要忘记投票和接受作为正确答案。不要忘记投票和接受作为正确答案。