2013-03-12 120 views
0

我想在while循環中添加一些標記,以便每個三項都包裝在一個<ul>中,並且每個ul應該包裝在一個div中。可以有最多6個項目,我希望得到以下的輸出:while while循環中的組項目

<div class="one"> 
    <ul> 
     <li>...</li> 
     <li>...</li> 
     <li>...</li> 
    </ul> 
</div> 

<div class="two"> 
    <ul> 
     <li>...</li> 
     <li>...</li> 
     <li>...</li> 
    </ul> 
</div> 

我想下面的代碼:

<div class="one"> 
    <ul>  
    <?php 
     $i = 0 ; 
     while (have_posts()) : the_post(); 
      $i++; ?>    

      <li>...</li>  

      <?php 
       if ($i === 3){ 
        echo "</ul></div><div class='two'><ul>"; 
        $right_div = true; 
       }   
      ?> 
     } 
     if ($right_div){ 
       </ul></div> 
      <?php } ?>  
?> 

如果有至少3項它工作正常,但如果有小於3,然後破壞代碼,因爲它不會關閉ul和div。

使用while循環是很重要的,因爲它是使用while循環獲取帖子的WordPress主題的一部分。

+2

使用while循環,因爲*「重要的是它的一個主題的一部分。「*我不明白這是如何工作的。爲什麼它使用什麼樣的循環? – 2013-03-12 18:32:30

+1

需要您在條件中使用的代碼。 – Prashank 2013-03-12 18:35:20

+0

@WaleedKhan我編輯了這個問題。它是一個使用while循環獲取帖子的WordPress主題,這就是我說的原因。 – user1355300 2013-03-12 18:40:00

回答

1

林不知道我得到它,但我認爲這個問題是:

 if ($right_div){ 
      </ul></div> 
     <?php } ?> 

這不應該是一個條件,即必須始終打印。

0

如果我理解正確,你說你想要 羣組的東西在3的組,但如果你有11項或東西 就像它打破。如果是這樣的話,那麼在while循環的最後一次迭代 中,您應該關閉ul和div元素。

像這樣:

if(condition){ 
    echo "</ul></div>"; 
}