2016-04-11 14 views
0

50個のロゴを表示するwhileループがあります。しかし、私が必要とするのは、5つのイメージごとに新しいdiv(.autogrid_wrapper .cte .block)を作成する別のループです。Whileループは5つの要素ごとに新しいdivを作成する必要があります

<?php 
         $cn = 1; 
         while($result->next()) { 
          if ($cn % 5 == 0) { 
          ?> 
          <div class="autogrid_wrapper cte block"> 
           <div class="inner"> 
           <?php } ?> 
           <div class="ce_card autogrid-type_cte n5 one_fifth autogrid_mode_auto autogrid <?php echo $class2; ?> <?php echo $class; ?> block"> 
            <div class="card_wrapper"> 
             <a class="download_image" title="<?php echo $result->name; ?>" 
             <div class="ce_image attribute image"> 
              <div class="ce_image block"> 
               <figure class="image_container"> 
                <img src="<?php echo $imageVar->path; ?>" onerror="this.onerror=null; this.src='files/Intershop/media/images/customers/<?php echo $rest; ?>.png'" title="<?php echo $entry->field('name')->value(); ?>" alt="<?php echo $entry->field('name')->value(); ?>" > 
               </figure> 
              </div> 
             </div> 
             </a> 
            </div> 
           </div> 
           <div class="clear autogrid_clear"></div> 
           <?php if ($cn % 5 == 0) { ?> 
           </div> 
          </div> 
           <?php 
           } 
           $cn++; 
           ?> 
         <?php } ?> 

私はあなたが私を助けることを願っています。

+0

何ですか?私はあなたのコードに何が問題であるのか、これらのコードで何が得られたのかを指摘していないことを意味します。 –

+0

私はこれを持っています:https://jsfiddle.net/4t7z2aq2/しかし、私はそれをコード化する方法を知らない:while($ result-> next()) – fr3d

+0

あなたは 'div(.autogrid_wrapper .cte。ブロック) 'の後にこのdivを閉じ、5番目の項目を歩く? –

答えて

0

それはだ、この希望を持って試してみてくださいは、[OK]を

<?php 
$cn = 1; 
while($result->next()) { 
    if ($cn % 5 == 0) { //check if number is divided by 5 like 5,10,15 etc 
      //new div' 
    } 

    YOUR HTML 

     if ($cn % 5 == 0) { 
      //close div' 
    } 
    $cn++; 
    } ?> 
+0

ループは実際には機能していません。私は自分の投稿のコードを現在のバージョンに変更しました。 – fr3d

1

を助け、後の私はあなたの目的だか知っているコメントでお願いします。 あなたは1番目のアイテムの前にprintdiv(.autogrid_wrapper .cte .block)を入れて、whileの5番目のアイテムを通り過ぎてこのdivを閉じます。

$cn = 1; 
while($result->next()) { 
    if($cn % 5 == 1) { 
     //div(.autogrid_wrapper .cte .block) 
    } 

    // HTML wraps image 

    if($cn % 5 == 0) { 
     //print the close tag of div(.autogrid_wrapper .cte .block) 
    } 
    $cn ++; 
} 

このフローコントロールをコードに埋め込むと、これはうまくいくと思います。

+0

私はそれを試しましたが、本当にうまくいきません:https://jsfiddle.net/7p80d566/ – fr3d

+0

@ fr3d申し訳ありません、私のコードで '$ cn ++'を省略しました。 –

+0

これはうまく動作しますが、今では、すべての最初と最後の要素がクラスfirst .lastを必要としています。https://jsfiddle.net/y49baq7o/ – fr3d

関連する問題