将foreach更改为仅显示第一个/最后添加的图像

时间:2013-06-04 18:40:37

标签: php foreach

我有以下代码构造。它会显示产品的图像,甚至可以添加到购物卡中。图像以添加顺序显示:顶部的图像是最后添加的图像。

我如何更改此代码,以便从最近添加的产品(但不是所有添加的产品中的所有图像)中仅显示一个图像?我想,我需要在 foreach($ items as $ item)中更改一些内容,以便图像显示的不是每个$ item,而是仅显示一个$ item,但不知道如何完全修改这段代码......

感谢您的帮助和建议!

以下是代码:

<table>
    <?php $i=0; $k=0; $subtotal = 0;?>
    <?php foreach ($items as $item) : ?>

    <?php
        $link = K2StoreItem::getK2Link($item->product_id);
        $link = JRoute::_($link);
        $image_path = K2StoreItem::getK2Image($item->product_id, $this->params);
    ?>
    <tr class="row<?php echo $k; ?>">
        <?php if($this->params->get('show_thumb_cart')) : ?>
        <td class="warkorb2">
            <?php if(!empty($image_path)) : ?>
            <img src="<?php echo $image_path; ?>" class="itemImg<?php echo $this->params->get('cartimage_size','small') ?>" />
            <?php endif;?>
        </td>
        <?php endif; ?>
    </tr>
    <?php ++$i; $k = (1 - $k); ?>
    <?php endforeach; ?>
<table>

2 个答案:

答案 0 :(得分:1)

您可以使用带有限制的查询或执行类似的操作

<?php $lastItem = end($items) ?> <!-- return the last item in the $items array -->
<?php
    $link = K2StoreItem::getK2Link($lastItem->product_id);
    $link = JRoute::_($link);
    $image_path = K2StoreItem::getK2Image($lastItem->product_id, $this->params);
?>

答案 1 :(得分:0)

在您没有发布的查询中,您可以执行LIMIT 0,1并添加SORT BY ..无论是ID,时间等。