我想做一个像5个产品一样的产品库,每个产品都有自己的background-image属性我使用循环来插入产品图像,所以我想让每个循环都有不同的background-image
我正在考虑像这样使用IF语句
<?php
$bg = 0;
$bg1 = "url('img1.jpg')";
$bg2 = "url('img2.jpg')";
$bg3 = "url('img3.jpg')";
$bg4 = "url('img4.jpg')";
$bg5 = "url('img5.jpg')";
if ($bg = 0){
echo " <div style='background-image :$bg1 ;'>" ;
$bg = 1;
} else if ($bg= 1) {
echo " <div style='background-image :$bg2 ;'>" ;
$bg = 2;
} else if ($bg= 2 ) {
echo " <div style='background-image :$bg3 ;'>" ;
$bg = 3;
} else if ($bg= 3 ) {
echo " <div style='background-image :$bg4 ;'>" ;
$bg = 4;
} else if ($bg= 4 ) {
echo " <div style='background-image :$bg5 ;'>" ;
$bg = 0;
}
echo " </div> " ;
code for product images
?>
上面的是我写的简化代码,它不起作用。如果有人有不同但更简单的解决方案,我将不胜感激。
注意:图像文件与这个PHP文件在同一个目录下
谢谢
你愿意使用img标签吗?在我看来,这将是一个更好的解决方案:
代码:<?php
$images=Array(
"img1.jpg",
"img2.jpg",
"img3.jpg",
"img4.jpg",
"img5.jpg"
);
//
print "'n<br> Code: 'n<pre>'n".RenderThoseImages($images)."'n</pre>";
//
function RenderThoseImages($images)
{
//
$s="";
//
foreach($images as $image){
$s.="'n<div><img src='"{$image}'"></div>";
}
return $s;
}
?>
输出:
<br> Code:
<pre>
<div><img src="img1.jpg"></div>
<div><img src="img2.jpg"></div>
<div><img src="img3.jpg"></div>
<div><img src="img4.jpg"></div>
<div><img src="img5.jpg"></div>
</pre>
主要原因是当你使用background-image CSS时,你还负责在PHP中抓取图像尺寸并将高度/宽度渲染到div CSS中,或者可能在加载后创建一些javascript来修复它,从而产生不必要的头痛。