提问人:Avro_Abir 提问时间:7/4/2022 最后编辑:DharmanAvro_Abir 更新时间:7/4/2022 访问量:91
为同一mysqli_fetch_assoc一个接一个地执行两个 while 循环
Execute two while loop one after another for same mysqli_fetch_assoc
问:
请帮帮我,我怎样才能一个接一个地运行两个While Loop。我想获取数据库的所有行。如果我先将手动控制的 DIV 放在里面,而循环它会单独显示整个 div。当它放在外面时,它什么都不做。请重写代码。
我想获得像this_一样的价值
<div class="img-slider-container">
<div class="img-slide active">
<img src="img/1.jpg" alt="Image">
<div class="img-info">
<h2>Heading 1</h2>
<p>Image Text 1</p>
</div>
</div>
<div class="img-slide">
<img src="img/2.jpg" alt="Image">
<div class="img-info">
<h2>Heading 2</h2>
<p>Image Text 2</p>
</div>
</div> <!--Continue-->
<div class="manual-control">
<div class="slide-btn 1"></div>
<div class="slide-btn 2"></div> <!--Continue-->
</div>
我的代码示例给出bellow_
<div class="img-slider-container">
<?php
$sql = "SELECT * FROM $tbImadeSlide";
$stmt = mysqli_stmt_init($conn);
if (!mysqli_stmt_prepare($stmt, $sql)) {
header("Location: index.php?error=sqlerror");
exit();
}
else{
$result = mysqli_query($conn, $sql);
$resultCheck = mysqli_num_rows($result);
if ($resultCheck > 0){
while($row = mysqli_fetch_assoc($result)){
echo '
<div class="img-slide '.$row["imageStatus"].'">
<img src="img/'.$row["imageName"].'" alt="Image">
<div class="img-info">
<h2>'.$row["imageHeader"].'</h2>
<p>'.$row["imageText"].'</p>
</div>
</div>';
}
echo '<div class="manual-control">';
while($row = mysqli_fetch_assoc($result)){
echo '<div class="slide-btn '.$row["imageId"].'"></div>';}
echo '</div>';
} else{
echo "<div class='no_result'>No Photos To Slide</div>";
}
}
?>
但是代码只是先重复,而循环就像this_
<div class="img-slider-container">
<div class="img-slide active">
<img src="img/1.jpg" alt="Image">
<div class="img-info">
<h2>Heading 1</h2>
<p>Image Text 1</p>
</div>
</div>
<div class="img-slide">
<img src="img/2.jpg" alt="Image">
<div class="img-info">
<h2>Heading 2</h2>
<p>Image Text 2</p>
</div>
</div> <!--Continue-->
<div class="manual-control">
<!--Nothing Shows-->
</div>
</div>
答:
-1赞
Avro_Abir
7/4/2022
#1
无需将所有行都保留在数组中,您可以简单地通过 foreach
循环来执行此操作。
只需更换
while($row = mysqli_fetch_assoc($result)){
自 foreach($result as $row){
您的代码可能如下所示:
<div class="img-slider-container">
<?php
$sql = "SELECT * FROM $tbImadeSlide";
$stmt = mysqli_stmt_init($conn);
if (!mysqli_stmt_prepare($stmt, $sql)) {
header("Location: index.php?error=sqlerror");
exit();
}
else{
$result = mysqli_query($conn, $sql);
$resultCheck = mysqli_num_rows($result);
if ($resultCheck > 0){
foreach($result as $row){
echo '
<div class="img-slide '.$row["imageStatus"].'">
<img src="img/'.$row["imageName"].'" alt="Image">
<div class="img-info">
<h2>'.$row["imageHeader"].'</h2>
<p>'.$row["imageText"].'</p>
</div>
</div>';
}
echo '<div class="manual-control">';
foreach($result as $row){
echo '<div class="slide-btn '.$row["imageId"].'"></div>';}
echo '</div>';
} else{
echo "<div class='no_result'>No Photos To Slide</div>";
}
}
?>
评论
0赞
Dharman
7/4/2022
我不明白。如果你正在使用,为什么要准备?从代码中完全删除。mysqli_query
mysqli_query
上一个:如果用户输入负数,是否可以退出
评论