gpt4 book ai didi

php - 如何在php中每次单击按钮时一一显示数据库中的项目

转载 作者:行者123 更新时间:2023-11-29 22:34:58 25 4
gpt4 key购买 nike

嗯,我有一个页面,我想在其中一一显示数据库中存储的项目。逐一意味着单击按钮即可出现下一个项目。(顺便说一下,在我的例子中,项目是问题)。

所以我为此编写了代码。我遇到的问题是循环只工作一次。我的意思是,当单击“下一个”按钮时,我将显示下一个项目,但随后我再次单击“下一步”,但什么也没有发生。这是代码..

<?php

$qno=1;

require_once('connect.php');

if(isset($_POST['next'])){
$qno+=1;
}

$q="select * from `uquestion` where `qno`='$qno' and
`uname`='{$_SESSION['user']}'";

$result=mysqli_query($con,$q);

if ($result) {

while($row=mysqli_fetch_array($result)){
$qno = $row['qno'];
$question = $row['question'];
$op1 = $row['op1'];
$op2 = $row['op2'];
$op3 = $row['op3'];
$op4 = $row['op4'];
$answer = $row['answer'];

}
}
?>

<form name="exam" method="post" action="exam.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>

最佳答案

您的问题是,每次运行 exam.php 页面时,您都将 $qno 设置为 1。

因此,第一次运行代码时,$qno 将为 1,因为 $_POST['next'] 未设置 ,将显示问题号 1。当您点击下一步时,$qno 将再次变为 1,这次是因为 $_POST['next']设置将显示问题编号 2。从现在开始,您将只会看到问题 2

因此,解决方案之一是将问题编号存储在 session 变量中。你的代码将是这样的:

<?php
session_start();
require_once('connect.php');

if(!isset($_SESSION['qno']))
$_SESSION['qno'] = 1;
else{
if(isset($_POST['next'])){
$_SESSION['qno'] += 1;
}
}

$q="select * from `uquestion` where `qno`='".$_SESSION['qno']."' and `uname`='{$_SESSION['user']}'";
?>

关于php - 如何在php中每次单击按钮时一一显示数据库中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29580492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com