1

我在我的网站上做了一个收藏功能,人们可以选择不同的项目组合在一起并将其保存为他们帐户中的收藏包。所有项目都保存在带有收藏 ID 号的收藏表中。任何具有相同 ID 号的东西都放在一起。这将保存在已登录的客户下。

我正在尝试将此数组导入 PHP 页面并以灯箱类型外观以图形方式显示项目,但在将它们组合在一起以正确显示它们时遇到了很多麻烦。

数组和php代码如下。该数组是从 SQL 查询生成的。数组 [0] 和 [1] 的项目需要以这样的方式组合在一起,以便我可以一起显示每个图像的图像(图像实际上是相互重叠的,使其看起来像一个包。

这是该页面的链接,以便您了解:https ://www.viva-cards.com/products/package-designer除非您登录,否则您将无法看到最喜欢的功能

我基本上需要将相同的 fav_seq id 组合在一起,但仍然能够区分 itm_id、offer_id、inv_type_id、、inv_thumbnail_url 和 offer_description,因为它们具有不同的图像,并且可以与之搭配。在这件事上,我一直把头撞到一堵砖墙上。有没有办法在 php 页面上执行此操作,或者我必须在 SQL 查询阶段执行此操作?我究竟做错了什么?

下面是数组的代码:

[0] => Array
    (
        [entity_id] => 6
        [itm_id] => 81
        [fav_seq] => 1
        [offer_id] => 1
        [inv_css_tag] => 
        [inv_type_id] => TYPE1
        [inv_thumbnail_url] => image1-thumb.png
        [offer_description] => Offer1
    )

[1] => Array
    (
        [entity_id] => 6
        [itm_id] => 198
        [fav_seq] => 1
        [offer_id] => 1
        [inv_css_tag] => csstag
        [inv_type_id] => TYPE2
        [inv_thumbnail_url] => image2-thumb.jpg
        [offer_description] => Offer2
    )

[2] => Array
    (
        [entity_id] => 6
        [itm_id] => 810
        [fav_seq] => 2
        [offer_id] => 4
        [inv_css_tag] => 
        [inv_type_id] => TYPE1
        [inv_thumbnail_url] => image3-thumb.png
        [offer_description] => Offer4
    )

[3] => Array
    (
        [entity_id] => 6
        [itm_id] => 98
        [fav_seq] => 2
        [offer_id] => 4
        [inv_css_tag] => csstag
        [inv_type_id] => TYPE2
        [inv_thumbnail_url] => image4-thumb.jpg
        [offer_description] => Offer4
    )

这是我在 php 页面上用来生成显示的代码:

<div>
    <h2>Favorites Saved</h2>

    <?php 
    foreach($this->favorite_seq as $favorites){
        if(empty($favorites['fav_seq'])){ 
     // Nothing
    ?>
<?php }else {?>                 
        <div id="favoritesThumbnailWrapper"> <!-- For TYPE1 -->
     <div id="favoritesReferralThumb" class="cardPositionMiddle1">
         <img src="<?= $this->inventory_url . $favorites['inv_thumbnail_url'];?>">
     </div>

     <div id="favoritesPresentationThumb"> <!-- For TYPE2 -->
         <img src="<?= $this->inventory_url . $favorites['inv_thumbnail_url'];?>">
     </div>

     <div id="favoritesOffer"> <!-- For OFFER DESCRIPTION -->
         <span><?= $favorites['offer_description'];?></span>
     </div>

</div>
<?php
    }
}
?>

4

1 回答 1

0

这可能会有所帮助:

$favArray = array();
foreach($this->favorite_seq as $favorites){
    if(!empty($favorites['fav_seq'])){
        $favArray[$favorites['fav_seq']][] = $favorites;
    }
}
print_r($favArray);

然后迭代$favArray以显示记录。

于 2013-05-23T06:46:04.990 回答