在同一mysqli_fetch_assoc接一个地循环时执行两个循环

发布于 2025-02-12 13:50:31 字数 3033 浏览 1 评论 0原文

请帮助我,一个接一个地循环时,我该如何运行两个。我想获得所有数据库行。如果我将手动控制div放在循环时将手动控制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>

Please Help Me, How can I Run two While Loop one after another. I want to get all the rows of database. If I put the manual-control DIV inside first while loop it shows the whole div separately. and when placed it outside it do nothing. Please rewrite the code.

I want to get value like 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>

My Code Sample is given 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>";
            }
        }
    ?>

But the code just repeat first while loop like 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>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

没有伤那来痛 2025-02-19 13:50:31

如果不保留数组中的所有行,就可以通过 foreach 循环来执行此操作。

只需替换

而($ row = mysqli_fetch_assoc($ result)){ foreach($ resud 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>";
        }
    }
?>

Without keep all the rows in array you can simply do this by foreach loop.

Just replace

while($row = mysqli_fetch_assoc($result)){ to foreach($result as $row){

Your code may look like:

<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>";
        }
    }
?>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文