提问人:Ayu Hapsari 提问时间:10/24/2019 最后编辑:DharmanAyu Hapsari 更新时间:10/24/2019 访问量:196
如何使 do-while 循环完全不循环?
How to make do-while loop works for its not looping at all?
问:
我有这些代码。我选择了 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”。
答:
1赞
Dan Iftinca
10/24/2019
#1
变量 $id 未在 do while 循环中更新。只需添加另一个
$id = $row['ID']
在回声之前在循环中。
编辑:
我本来打算发布一个新的片段,但阿巴斯@Omar的回答与我的意图一致。我会在循环之外获取表单,并添加一个隐藏的输入以将索引传递到下一页,这样您就知道接下来按了多少次,这样您就知道要显示多少行。
在这个行业中,学会提出正确的问题很重要。它的重要部分是良好的措辞和尽可能少的假设。
评论
0赞
Ayu Hapsari
10/24/2019
谢谢。。。我添加了它,但是,输出完全不是我所期望的,哈哈。它首先显示下一个按钮,一旦我单击它,又有 4 个按钮向上推,也带有“soaltxt”记录。我希望它是“soaltxt”记录仅在我单击的下一个按钮后显示。你知道怎么做吗??
0赞
Dan Iftinca
10/24/2019
单击“下一步”按钮后,页面上的 $_POST['next'] 将为真,这就是您描述的行为发生的原因。
0赞
Ayu Hapsari
10/24/2019
我对此完全陌生,这是我的第一部作品。你知道怎么解决吗?^o^?
0赞
GetSet
10/24/2019
@AyuHapsari有点超出了您最初投诉的范围。只是说,谁会投票支持答案,我还是你?我想我会的。but, the output is totally not what i expected
0赞
Ayu Hapsari
10/24/2019
@GetSet,我已经给它投了赞成票,但它就是没有用,它一直回到 0,我不知道为什么。
0赞
Umer Abbas
10/24/2019
#2
回答您正在使用的问题,查找有关mysqli_fetch_array的详细信息,现在您还需要检查您所在的索引或该索引可能是什么,并将此值分配给$id变量 like,然后将其放入mysqli_fetch_array()
id
$row
$row[0]
$id = $row[0]
while($id = 'S01')
可能的解决方案,只获取有 、use 和 use While 循环的记录,查找详细信息mysqli_fetch_assoc。id = S01
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'];
}
评论