2017-01-07 41 views
-2

我爲我的博客使用foreach php。 foreach中的所有元素都是重複的(文章數量)。但只爲一個div,我想這個div不重複。使用php禁用div

我不想重複的div是id =「wrapper」。但是對於裏面的元素,我希望他們重複一遍。

我該怎麼辦?

<ul> 

    <?php foreach($posts as $key => $value): ?> 

    <li> 

     <a> 

      <div class="text"> 

       <h1><?php echo $key ?></h1> 

      </div> 

      <div id="wrapper"> <!-- I don't want this ID "wrapper" repeating --> 

       <section id="frame" ><?php echo $value->post_title; ?> 

        <h2><?php echo $value->post_title; ?></h2> 

       </section> 

      </div> 
     </a> 

    </li> 

    <?php endforeach; ?> 

</ul> 
+0

什麼是$關鍵內容?自動索引從0開始或從數據庫的ID? (將幫助你的答案) – smozgur

+0

你不想

opening and
結束線,但內容,對不對?它只會在第一篇文章中打印? – smozgur

+0

你不能將包裝從環路中取出。添加你想將包裝從循環中解析出來的原因。如果是樣式,請將樣式添加到代碼中。 –

回答

1

你可以檢查它是否是第一次迭代(使用一個布爾值),如果是第一次,表明<div>元素。

<ul> 
    <?php $first_time = true; foreach($posts as $key => $value): ?> 
    <li> 
     <a> 
      <div class="text"> 
       <h1><?php echo $key ?></h1> 
      </div> 

      <?php if($first_time): ?> 
      <div id="wrapper"> <!-- I don't want this ID "wrapper" repeating --> 
      <?php endif; ?> 

       <section id="frame"><?php echo $value->post_title; ?> 
        <h2><?php echo $value->post_title; ?></h2> 
       </section> 

      <?php if($first_time): ?> 
      </div> 
      <?php endif; ?> 

     </a> 
    </li> 
    <?php $first_time = false; endforeach; ?> 
</ul> 

爲了更好地解決,我懷疑你遇到的問題,用類包裝和框架,而不是一個ID(以及調整任何CSS定義)