如何显示一个结果并删除重复的类别

时间:2013-06-20 21:31:40

标签: php joomla

我想使用以下查询只显示一个结果:

<?php
foreach($list as $row=>$item){
?>     

    <li>

        <?php if ($params->get('link_titles') == 1) : ?>
            <a class="<?php echo $item->category_title; ?>" href="#">
              <?php echo $item->category_title; ?>
            </a>

        <?php
            else:
            echo $item->category_title;
            endif;
        ?> 

    </li>              
<?php }?>

结果是:

All
Onesies
Leggings
Swimsuits
Onesies
Leggings
Swimsuits
Onesies
Leggings
Swimsuits
Leggings
Onesies
Swimsuits
Onesies
Onesies

我的问题是,我想知道如何删除重复的类别。

我用jquery解决了这个问题。

foreach这是输出后的示例。

<ul class="filter">
<li><a href="#">Same Title </a> </li>
<li><a href="#">Different Title </a> </li>
<li><a href="#">Different Title </a> </li>
<li><a href="#">Different Title </a> </li>
<li><a href="#">Same Title </a> </li>
<li><a href="#">Same Title </a> </li>
<li><a href="#">Same Title </a> </li>
</ul>

这是解决方案

var seen='';$('ul.filter li').each(function(){
    var see=$(this).text();
    if(seen.match(see)){
        $(this).remove();}
    else{
        seen=seen+$(this).text();
        }
    });

1 个答案:

答案 0 :(得分:4)

一个快速的技巧是将它们存储到二维数组中。只需执行以下操作,而不是在您拥有它时回显项目:

$clothes[$item->category_title] = 0;

创建一个条目,当您点击一个副本时,它只会重新创建一个条目。现在你可以

foreach ( $clothes as $item => $count )
{
    echo $item;
}

作为一个额外的花絮,您甚至可以增加该值,而不是将其设置为0,以防您需要知道该项目在列表中出现的次数