php - 使用 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>
我已经花了一些时间试图找到一种更好的方法,因为我正在苦苦挣扎,所以如果有人能指出我正确的方向,我会非常感激。在我的脑海中,必须有一种方法来计算文件夹中的图像数量,然后将它们加载到轮播中,而不是在每次进行查询时都检查所有表列。我希望这是有道理的。非常感谢您的任何建议。
解决方案
您可以使用 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
}
}
推荐阅读
- reactjs - 该请求在使用 Youtube Data API v3 时缺少有效的 API 密钥
- python - 如何将文件类型从一个用户选择的目录移动到另一个?
- azure - 调用rest API时Powershell Posted对象始终为空
- python - 如何使用 seaborn 绘制成对直方图
- c# - 滚动 TableLayoutPanel 到按钮单击
- ios - iOS - 商业和教育发行版
- c - DevkitARM,模拟器上的白屏如果我在代码中使用for循环?
- java - 尝试将对象保存到数据库时出现 Hibernate 407 错误。(@OneToMany 关系)
- r - 用于 stat_density_ridges 的具有多个/条件 scale_fill_manual 的 GGplot
- javascript - 应用谷歌翻译时页面以默认语言和选定语言闪烁