首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将列表与列表中的特定数据映射

将列表与列表中的特定数据映射
EN

Stack Overflow用户
提问于 2014-11-18 11:51:14
回答 1查看 51关注 0票数 0

我试图显示一个图片库页面,其中有不同的选项卡式列表,即从数据库中获取的库名。其中每一个都是用data-list-id映射的

现在每个画廊都有一组特定的图像。清单看上去如下:

清单1

清单2

清单3

下面是显示这些列表内容的HTML:

代码语言:javascript
复制
<div class="full-gallery details-area">
    <div class="gallery-1 gallery-all">
        <a href="img/img1.jpg" data-ngthumb="img/img1.jpg">image1</a>
        <a href="img/img1.jpg" data-ngthumb="img/img1.jpg">image1</a>
    </div>
</div>

同样的实现方式是将gallery-1更改为gallery-2gallery-3,它将与相应的列表进行映射。

现在我的工作是让它充满活力。我得到了结果,但有一点小问题。

这就是我在PHP中所做的:

代码语言:javascript
复制
<?php
$gallery_index=1;
$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);
uasort($res,'cmp_by_gallery');?>
<?php 
$test=0;
$temp=array();
$temp[0]=$res[0]->gallery_id; ?>
<div class="full-gallery details-area">
    <?php
    foreach($res as $galleryList)
    { 
        if($temp[$test] != $galleryList->gallery_id)
        $gallery_index++;
    ?>
        <div class="gallery-<?php echo $gallery_index; ?> gallery-all"> <br>
        <a href="<?php echo WWW_GALLERY_IMAGE_PATH.'original/'.$galleryList->gallery_image_url; ?>" rel= "<?php echo $galleryList->gallery_id; ?>" data-ngthumb="<?php echo WWW_GALLERY_IMAGE_PATH.'original/'.$galleryList->gallery_image_url; ?>">image1</a>
                <?php 
                $temp[++$test]=$galleryList->gallery_id; 
                ?>
        </div>
        <?php 

    } ?>

我得到的结果与HTML中的结果不一样。当$gallery_index为1时,它应该打印gallery-1中的所有图像,然后增加到2。

<div class="gallery-1 gallery-all nanogallery_theme_light nanogallery_thumbnails_label_align_center unselectable">

</div>,这是我应该得到的。这里所有的图像都被合并到这个class=gallery-1中。

但我得到了这样的东西:

<div class="gallery-1 gallery-all nanogallery_theme_light nanogallery_thumbnails_label_align_center"> </div>

<div class="gallery-1 gallery-all nanogallery_theme_light nanogallery_thumbnails_label_align_center"> </div>

在这里,每一幅图像都是不同的div

我找不到确切的问题

编辑:

代码语言:javascript
复制
stdClass Object
(
    [gallery_id] => 28
    [gallery_image_url] => Hydrangeas+1416289924.jpg
)


 stdClass Object ( [gallery_id] => 28 [gallery_image_url] => Main+Qimg+D3344dabee4d48e5ee08eabff738f5dd+1416211112.png ) stdClass Object ( [gallery_id] => 28 [gallery_image_url] => Main+Qimg+A17a77318cc563cb43ae387170c79b75+1416211067.jpg ) stdClass Object ( [gallery_id] => 61 [gallery_image_url] => Img2+1416221089.jpg ) stdClass Object ( [gallery_id] => 61 [gallery_image_url] => Img1+1416221043.jpg ) stdClass Object ( [gallery_id] => 62 [gallery_image_url] => Koala+1416293951.jpg ) stdClass Object ( [gallery_id] => 62 [gallery_image_url] => Chrysanthemum+1416293916.jpg ) stdClass Object ( [gallery_id] => 62 [gallery_image_url] => Desert+1416288139.jpg ) stdClass Object ( [gallery_id] => 62 [gallery_image_url] => Lighthouse+1416293790.jpg ) stdClass Object ( [gallery_id] => 62 [gallery_image_url] => Tulips+1416293867.jpg )
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-18 12:11:17

这是正确的,这段代码将为每个图像创建一个独立的div。您需要将div声明从foreach循环中删除。试试这个:

代码语言:javascript
复制
<?php

    $galleries = array();
    foreach($res as $galleryImage)
    {
        $galleries[$galleryImage->gallery_id][] = $galleryImage->->gallery_image_url;
    }

    foreach($galleries as $galleryId => $galleryImages)
    {    
        $gallery_index++;
?>
        <div class="gallery-<?php echo $gallery_index; ?> gallery-all"> <br>
            <?php
                foreach($galleryImages as $image)
                { 
            ?>
                    <a href="<?php echo WWW_GALLERY_IMAGE_PATH.'original/'.$image; ?>" rel= "<?php echo $galleryId; ?>" data-ngthumb="<?php echo WWW_GALLERY_IMAGE_PATH.'original/'.$image; ?>">image1</a>
            <?php 
                }
            ?>
        </div>
<?php
    } 
?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26993670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档