猿问

如何使用php while循环在轮播中每张幻灯片显示2张图片?

我在轮播中显示图像时遇到问题。我想每个轮播幻灯片显示 2 张图像。我使用 while 循环从数据库中获取图像来创建幻灯片。问题是我的代码每张幻灯片只显示一个图像。

这就是它现在 的样子:检查图像

<?php

                $brojacPoStrani = 0;

                $sqlIzvestaji = mysqli_query($con, "SELECT operacije.nazivEng, izvestaji.operacija, izvestaji.ucinak, izvestaji.id FROM izvestaji INNER JOIN operacije ON izvestaji.operacijaId=operacije.id WHERE projekatId='$projekatId' AND datum='$datum'");

                while ($row = mysqli_fetch_array($sqlIzvestaji)) {

                    $id = $row['id'];


                    $sqlSlike = mysqli_query($con, "SELECT img_name FROM slike WHERE izvestajId='$id' AND datum='$datum'");


                    $brojacDuplikata = false;

                    while ($row2 = mysqli_fetch_array($sqlSlike)) {

                        if ($brojacPoStrani % 2 == 0) {

                ?>

                            <div class="carousel-cell" style="background-image: url('img/izvestaji.jpg'); background-repeat: no-repeat; background-size: 100% 350px;">

                                <h1 style="color: #fff; text-align: left; padding-left: 15px; font-weight: bold;"><?php echo $row['nazivEng']; ?></h1>

                                <?php

                                if ($brojacDuplikata === false) {

                                    $brojacDuplikata = true;

                                ?>

                                    <p style="text-align: left; padding-left: 45px; padding-top: 20px; padding-bottom: 10px;"><?php echo $row['operacija'] . " - " . $row['ucinak']; ?></p>


饮歌长啸
浏览 140回答 1
1回答

蝴蝶不菲

如前所述,看起来您应该能够使用单个查询而不是嵌套查询 - 并且display 2 images per carousel slide您实际上希望从当前行和下一行中选择数据。一种简单的方法是将整个记录集分配给一个变量,然后使用for循环处理该数组。以下是一个简化的半伪代码版本,它尝试组合 sql 查询并将记录集分配给数组。它没有经过测试,但它可能吗?有用。$sql="select&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; o.naziveng,&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; i.operacija,&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; i.ucinak,&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; i.id,&nbsp; &nbsp; &nbsp; &nbsp; s.img_name&nbsp; &nbsp; from izvestaji i&nbsp; &nbsp; &nbsp; &nbsp; inner join operacije o on i.operacijaid=o.id&nbsp; &nbsp; &nbsp; &nbsp; inner join slike s on s.izvestajId=i.id&nbsp; &nbsp; where projekatid='$projekatid' and datum='$datum'";$res = mysqli_query( $con, $sql );if( $res ){&nbsp; &nbsp; $arr = mysqli_fetch_all( $res, MYSQLI_BOTH );&nbsp; &nbsp; for( $i=0; $i < count( $arr ); $i+=2 ){&nbsp; &nbsp; &nbsp; &nbsp; try{&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $r1=array_key_exists( $i+0, $arr ) ? $arr[ $i+0 ] : false;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $r2=array_key_exists( $i+1, $arr ) ? $arr[ $i+1 ] : false;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /*&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; generate the HTML structure and add two images&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; */&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; echo '<div class="carousel-cell">'; # simplified version&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if( $r1 )echo 'row 1: '.$r1['img_name'];&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if( $r2 )echo 'row 2: '.$r2['img_name'];&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; echo '</div>';&nbsp; &nbsp; &nbsp; &nbsp; }catch( Exception $e ){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; continue;&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }}
随时随地看视频慕课网APP
我要回答