从通过数据库获取的数据中显示特定数量的图像

时间:2014-11-17 13:11:16

标签: php html

我正在尝试显示从数据库中提取的图像。因此,我需要打印的图像模式是这样的。

第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++;
    }

我得到了第一行的必要结果。但是,我如何继续自动化第二行和更多行。

也有人可以建议我如何打印剩余的图像。

1 个答案:

答案 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;
}