为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
饮歌长啸 2022-07-22 18:53:58
我在轮播中显示图像时遇到问题。我想每个轮播幻灯片显示 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>
查看完整描述

1 回答

?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

如前所述,看起来您应该能够使用单个查询而不是嵌套查询 - 并且display 2 images per carousel slide您实际上希望从当前行和下一行中选择数据。一种简单的方法是将整个记录集分配给一个变量,然后使用for循环处理该数组。以下是一个简化的半伪代码版本,它尝试组合 sql 查询并将记录集分配给数组。它没有经过测试,但它可能吗?有用。


$sql="select 

        o.naziveng, 

        i.operacija, 

        i.ucinak, 

        i.id,

        s.img_name

    from izvestaji i

        inner join operacije o on i.operacijaid=o.id

        inner join slike s on s.izvestajId=i.id

    where projekatid='$projekatid' and datum='$datum'";


$res = mysqli_query( $con, $sql );

if( $res ){

    $arr = mysqli_fetch_all( $res, MYSQLI_BOTH );


    for( $i=0; $i < count( $arr ); $i+=2 ){

        try{


            $r1=array_key_exists( $i+0, $arr ) ? $arr[ $i+0 ] : false;

            $r2=array_key_exists( $i+1, $arr ) ? $arr[ $i+1 ] : false;


            /*

                generate the HTML structure and add two images

            */

            echo '<div class="carousel-cell">'; # simplified version

            if( $r1 )echo 'row 1: '.$r1['img_name'];

            if( $r2 )echo 'row 2: '.$r2['img_name'];

            echo '</div>';


        }catch( Exception $e ){

            continue;

        }

    }

}


查看完整回答
反对 回复 2022-07-22
  • 1 回答
  • 0 关注
  • 139 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信