我正在尝试显示从数据库中提取的图像。因此,我需要打印的图像模式是这样的。
第1行:3张图像
第2行:2图像
第3行:4图像
重复。
我可以使用奇数和偶数条件以3-2-3格式显示数据。
$id=$SITE['site_settings']->cloud_site_id;
$gal="SELECT gallery_id, gallery_image_url from `cloud_site_gallery_images` where `cloud_site_id`= $id and gallery_image_status=1;";
$res = $DB->query($gal);
<?php $count = 1;
$row_index=1;
if($row_index%2==1)
{
foreach($res as $gallery_image)
{ ?>
<li class="gal-row<?php echo $row_index; ?> gal-img gal<?php echo $gallery_index++; ?>"><a class="th" href="<?php echo WWW_GALLERY_IMAGE_PATH.'original/'.$gallery_image->gallery_image_url; ?>"><img src="<?php echo WWW_GALLERY_IMAGE_PATH.'original/'.$gallery_image->gallery_image_url; ?>"></a></li>
<?php
$count++;
if($count==3)
break;
}
$row_index++;
}
我得到了第一行的必要结果。但是,我如何继续自动化第二行和更多行。
也有人可以建议我如何打印剩余的图像。
答案 0 :(得分:0)
您可以使用以下逻辑打印所需格式的结果。
第1行:3张图片
第2行:2张图片
第3行:4张图片
重复。
| img1 | img2 | img3 |
| img4 | img5 |
| img6 | img7 | img8 | img9 |
$imgArray = array('1' => 'img1' ,
'2' => 'img2' ,
'3' => 'img3' ,
'4' => 'img4' ,
'5' => 'img5' ,
'6' => 'img6' ,
'7' => 'img7' ,
'8' => 'img8' ,
'9' => 'img9'
);
$temp = array();
$i=1;
$j=0;
$k=0;
foreach ($imgArray as $key => $value) {
if($i==4) {
var_dump($temp);
$temp = array();
$j=1;
$i=0;
}
if($j==3){
var_dump($temp);
$temp = array();
$k=1;
$i=0;
$j=0;
}
if($k==5){
var_dump($temp);
$temp = array();
$i=1;
$k=0;
$j=0;
}
if($i>0)
$i++;
if($j>0)
$j++;
if($k>0)
$k++;
$temp[$key] = $value;
}