2012-05-24 90 views
0

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

到目前为止好,除了这个小问题之外,一切都显示大致OK。

在列表中我做了以下内容:

<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个产品,并将最后一个产品放在下一页。

任何想法的人?

欢呼声中号

+0

你能提供一个链接,或者至少正在创建的HTML标记? – Tim

+0

听起来更像CSS而不是PHP - 你确定'class =“last”'是否有效且正确? – Laurence

+0

从1开始递增而不是0,所以'$ i = 1;' –

回答

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

让我们试试吧..

+0

如果实际循环可能会有所帮助。 – damianb

+0

Hiya,谢谢你的回复。没有没有工作,一些语法错误。 这是实际的页面。 http://www.kochtail.de/index.php?route=product/productall – missmonkee

+0

state ur error dude ... – Learner