【问题标题】:How to make do-while loop works for its not looping at all?如何使 do-while 循环完全不循环?
【发布时间】:2020-02-20 08:28:43
【问题描述】:

我有这些代码。我选择了do-while循环,所以我可以做循环,但不知何故它不起作用。

因此,在我的数据库中,“SOALTXT”字段中至少有 5 行 id=S01,这意味着它应该循环 5 次。但不知何故,它只显示一排。 像这样:

非预期输出:

<?php
    include "koneksi.php";
    $query = mysqli_query($connection,"SELECT * FROM buatsoal_db ORDER BY ID DESC");
    $result = mysqli_fetch_array($query);
    $id = $result['ID'];
    ?>

<?php
    do{ ?>
        <form method= 'post'>
        <input name='next' type='submit' id='next' value='next'>
        </form>
            <?php if(isset($_POST['next'])){ 
    >           $row = mysqli_fetch_array ($query);
                echo $row['SOALTXT'];           
            ?>
            <br>
            <br>
            <?php           
            } 
            ?>

<?php   }
    while ($id =='S01');
?>

对于输出,我希望有 5 个“下一步”按钮,当它单击时,会显示每个“soaltxt”。

【问题讨论】:

    标签: php loops mysqli return do-while


    【解决方案1】:

    变量 $id 没有在 do while 循环内更新。只需添加另一个

    $id = $row['ID']
    

    在循环中的回声之前。

    编辑:

    我打算发布一个新的 sn-p,但 @Omar Abbas 的回答与我的意图一致。我会在循环之外获取表单并添加一个隐藏的输入以将索引传递到下一页,这样您就知道您按下了多少次,这样您就知道要显示多少行。

    在这个行业中,学会提出正确的问题很重要。它的重要部分是良好的措辞和尽可能少的假设。

    【讨论】:

    • 谢谢...我添加了它,但是,输出完全不是我所期望的,哈哈。它首先显示下一个按钮,一旦我单击它,就会显示另外 4 个按钮,以及“soaltxt”记录。我希望它是“soaltxt”记录仅在我单击下一个按钮后显示。你知道怎么做吗??
    • 一旦您单击下一步按钮,页面上的 $_POST['next'] 将变为 true,这就是您描述的行为发生的原因。
    • 我对这个完全陌生,这是我的第一部作品。你知道怎么解决吗? ^o^?
    • @AyuHapsari but, the output is totally not what i expected 有点超出您最初投诉的范围。只是说,谁会赞成这个答案,我还是你?我想我会的。
    • @GetSet,我投了赞成票,但它不起作用,它一直回到 0,我不知道为什么。
    【解决方案2】:

    回答您正在使用mysqli_fetch_array() 的问题查找有关mysqli_fetch_array 的详细信息现在您还需要检查您的id 驻留在$row 中的哪个索引,例如$row[0] 或该索引可能是什么,并且将此值分配给 $id 变量,例如$id = $row[0],然后将其放入while($id = 'S01')

    可能的解决方案,只获取有id = S01的记录,使用mysqli_fetch_assoc()并使用While循环,查找详细信息mysqli_fetch_assoc

    $query = mysqli_query($connection,"SELECT * FROM buatsoal_db WHERE ID=S01");
    $result = mysqli_fetch_array($query);
    
    while ($row=mysqli_fetch_assoc($result)){
    
        echo $row['ID'];
    }
    

    【讨论】:

      猜你喜欢
      • 2020-11-26
      • 2016-03-27
      • 2021-07-27
      • 2020-08-28
      • 1970-01-01
      • 1970-01-01
      • 2016-09-23
      • 2013-10-30
      • 2015-02-16
      相关资源
      最近更新 更多