按钮上的数据库值逐个点击

时间:2018-04-09 18:39:52

标签: php mysql database html5

好吧,我有一个页面,我想逐个显示存储在数据库中的项目。一个接一个地意味着点击一个按钮,下一个项目应该到来。 (在我的案例中,项目是问题)。

所以我为此编写了代码。我得到的问题是循环只工作一次。我的意思是当点击下一个按钮时,我显示下一个项目,但是我再次单击“下一步”,没有任何反应。这是代码..

<?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 个答案:

答案 0 :(得分:0)

在第3行的$_SESSION['qno']页面的每次调用中,您都会覆盖0。首先,这会使变量设置,这意味着!isset($_SESSION['qno'])将始终等于{{1} }}。因此,当您有false时,您总是进入else并添加1到0,这意味着每次除了第一次通话之外。

$_POST['next']

答案 1 :(得分:0)

问题是你的第三行,总是提交表格,你的会话是0,当你总和+ = 1时,总是把1。

尝试

session_start();
$connection = mysqli_connect("localhost", "root", "", "oes_db");
if (!isset($_SESSION['qno']))
    $_SESSION['qno'] = 1; //or 0 if your item start at 0
else {
    if (isset($_POST['next'])) {
        $_SESSION['qno'] += 1;
    }
}