使用计数将图像加载到旋转木马中



我有一个工作网站,现在我正在尝试简单地改进代码。该网站列出了假日租赁的属性,在每个属性页面上都有该属性的详细信息,包括带有褪色图像的轮播(Bootstrap(。

目前,我正在使用多个" 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>

我花了一些时间试图寻找一种更好的方法,所以如果有人可以将我指向正确的方向,我会很奇怪。我脑海中认为必须有一种计算文件夹中图像数的方法,然后将它们加载到轮播中,而不是每次查询时检查所有表列的过程。我希望这是有道理的。非常感谢您的任何建议。

您可以使用循环

    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
    }
    }

最新更新