ForEach倍增问题

时间:2012-05-24 09:59:45

标签: php foreach

这可能是我忽视的一个愚蠢的问题,但我希望你们中的一个可以帮助我! 我有一个循环来列出我的数据库中的产品网格。

到目前为止一切都那么好,除了这个小问题外,一切都显示得很好。

在列表中,我正在执行以下操作:

<ul>
    <?php $i=0; foreach ($products as $product) : $i++; ?>
    <li  <?php 
            if(($i%4) ==0){

                echo 'class="last"';
              } elseif($i%2==0){
                  echo 'class="second"';
              } 
          ?>>

// Then I've got the image thumbnail etc coming in.... 

除最后一行外,一切看起来都不错......

因此,例如,如果我有8个产品......前7个将正确显示在页面上,但是在第8个产品移动到下一页的末尾有一个间隙。

起初我认为这是CSS宽度或其他东西,但事实并非如此。即使我有20个产品......总是最后一行只显示3个,并将最后一个产品放在下一页上。

任何想法?

干杯M

1 个答案:

答案 0 :(得分:1)

<ul>
    <?php $i=count($products); ?>
    <li  
       <?php 
            if(($i%4) ==0){
                   echo 'class="last"';
              } elseif($i%2==0){
                  echo 'class="second"';
              } 
       ?>>

我们试试吧..