结合PHP中基于元素的SQL查询数组


Combining SQL query Array in PHP based on element

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

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

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

这里有一个页面链接,让你有一个想法:https://www.viva-cards.com/products/package-designer除非您通过登录,否则您将无法看到喜爱的功能

我基本上需要将相同的favo_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
    }
}
?>

这可能会有所帮助:

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

$favArray上重复以显示记录。