首页 > 解决方案 > 使用 Count 在轮播中加载图像

问题描述

我有一个工作网站,现在我正在尝试简化和改进代码。该网站列出了度假租赁的房产,并且在每个房产页面上都有房产的详细信息,包括带有褪色图像的旋转木马(引导程序)。

目前我正在使用多个“if”语句(见下文)来创建幻灯片,但不禁想到,虽然它工作得很好并且加载速度很快,但一定有更好的方法。目前,每个属性都有 6 到 16 个图像存储在一个文件夹中,我有一个包含 16 列的数据库表(每个图像一个列)。每列都有对每张图像的路径引用(例如 ../images/property/photo-01.jpg),或者该列留空。

 <div class="carousel-inner" role="listbox">
    <div class="carousel-item active"> <img class="img-fluid d-block mx-auto" src="<?php echo $results['photo_01']; ?>" alt=""></div>
    <div class="carousel-caption"><h1><?php echo $results['nom_propriete']; ?></h1></div>
    <div class="carousel-item"> <img class="img-fluid d-block mx-auto" src="<?php echo $results['photo_02']; ?>" alt=""></div>
    <div class="carousel-item"> <img class="img-fluid d-block mx-auto" src="<?php echo $results['photo_03']; ?>" alt=""></div>
    <div class="carousel-item"> <img class="img-fluid d-block mx-auto" src="<?php echo $results['photo_04']; ?>" alt=""></div>
    <div class="carousel-item"> <img class="img-fluid d-block mx-auto" src="<?php echo $results['photo_05']; ?>" alt=""></div>
    <div class="carousel-item"> <img class="img-fluid d-block mx-auto" src="<?php echo $results['photo_06']; ?>" alt=""></div>
    <?php
    if ($results['photo_07'] <> NULL or "") {
    ?><div class="carousel-item"> <img class="img-fluid d-block mx-auto" src="<?php echo $results['photo_07']; ?>" alt=""></div><?php }
    if ($results['photo_08'] <> NULL or "") {
    ?><div class="carousel-item"> <img class="img-fluid d-block mx-auto" src="<?php echo $results['photo_08']; ?>" alt=""></div><?php }
    if ($results['photo_09'] <> NULL or "") {
    ?><div class="carousel-item"> <img class="img-fluid d-block mx-auto" src="<?php echo $results['photo_09']; ?>" alt=""></div><?php }
    if ($results['photo_10'] <> NULL or "") {
    ?><div class="carousel-item"> <img class="img-fluid d-block mx-auto" src="<?php echo $results['photo_10']; ?>" alt=""></div><?php }
    if ($results['photo_11'] <> NULL or "") {
    ?><div class="carousel-item"> <img class="img-fluid d-block mx-auto" src="<?php echo $results['photo_11']; ?>" alt=""></div><?php }
    if ($results['photo_12'] <> NULL or "") {
    ?><div class="carousel-item"> <img class="img-fluid d-block mx-auto" src="<?php echo $results['photo_12']; ?>" alt=""></div><?php } 
    if ($results['photo_13'] <> NULL or "") {
    ?><div class="carousel-item"> <img class="img-fluid d-block mx-auto" src="<?php echo $results['photo_13']; ?>" alt=""></div><?php } 
    if ($results['photo_14'] <> NULL or "") {
    ?><div class="carousel-item"> <img class="img-fluid d-block mx-auto" src="<?php echo $results['photo_14']; ?>" alt=""></div><?php } 
    if ($results['photo_15'] <> NULL or "") {
    ?><div class="carousel-item"> <img class="img-fluid d-block mx-auto" src="<?php echo $results['photo_15']; ?>" alt=""></div><?php } 
    if ($results['photo_16'] <> NULL or "") {
    ?><div class="carousel-item"> <img class="img-fluid d-block mx-auto" src="<?php echo $results['photo_16']; ?>" alt=""></div><?php } 
    ?>
   </div>

我已经花了一些时间试图找到一种更好的方法,因为我正在苦苦挣扎,所以如果有人能指出我正确的方向,我会非常感激。在我的脑海中,必须有一种方法来计算文件夹中的图像数量,然后将它们加载到轮播中,而不是在每次进行查询时都检查所有表列。我希望这是有道理的。非常感谢您的任何建议。

标签: php

解决方案


您可以使用 for 循环

    for($i=2;$i<=16;$i++){
$x=$i;
if($i<10){
$x='0'.$i;
}
    $image='photo_'.$x;
    if(!empty($results[$image])){
    ?>
    <div class="carousel-item"> <img class="img-fluid d-block mx-auto" src="<?= $results[$image] ?>" alt=""></div>
    <?php
    }
    }

推荐阅读