2012-04-19 7 views
0

私はこのforeachを使ってYouTubeビデオギャラリーを構築しますが、各行ごとに3つのビデオを表示したいと思います。どのように3回ループするかを指定し、次のラインとループに3回移動します。私は1行ですべてのループを構築する必要がいけない.. ..このforeachループを制御する方法

table id="tblThumbsLayout" cellpadding="0" cellspacing="6"> 

<tr> 

    <?php foreach ($vcats as $vcat) { ?> 

<td class="tdImg"> 
    <div> 

     <?php echo '<iframe class="youtube-player" type="text/html" width=" 200 " height=" 100 " src="http://www.youtube.com/embed/' . $vcat['Video']['link'] . '"></iframe>' ;?> 
     <div class="text"><?php echo '<b>'. $vcat['Video']['title'].'</b>' ; ?></div> 
    </div> 
</td> 
<?php } ?> 
</tr> 
</table> 
+0

すべての回答に:最後の行でないことを忘れないでください。 – lvil

答えて

1

はこれを試してみてください助けるため 感謝:

<?php 
     $i = 1; 
     foreach ($vcats as $vcat) { 
     if($i%3 == 0){ 
      echo "</tr><tr>"; 
     } 

    ?> 

    <td class="tdImg"> 
     <div> 

      <?php echo '<iframe class="youtube-player" type="text/html" width=" 200 " height=" 100 " src="http://www.youtube.com/embed/' . $vcat['Video']['link'] . '"></iframe>' ;?> 
      <div class="text"><?php echo '<b>'. $vcat['Video']['title'].'</b>' ; ?></div> 
     </div> 
    </td> 

    <?php $i++; } ?> 
+0

感謝しています。Rameshそれは良い仕事です。if($ i%3 == 0){ if($ i%3 == 1){ – user1080247

+0

ありがとうございます。申し訳ありません、私は簡単な間違いをしました。 –

0

ループの反復回数を保管してください。次に、モジュラス演算子を使用して、この繰り返しを3で割ったものが0の余りを持つかどうかを確認します。そうであれば、ブレークラインまたは新しいテーブル行を追加して次のラインに移動します。

ので、同様:

<table id="tblThumbsLayout" cellpadding="0" cellspacing="6"> 

<tr> 

    <?php 
     $counter = 1; 
     foreach ($vcats as $vcat) { 
    ?> 

<td class="tdImg"> 
    <div> 

     <?php echo '<iframe class="youtube-player" type="text/html" width=" 200 " height=" 100 " src="http://www.youtube.com/embed/' . $vcat['Video']['link'] . '"></iframe>' ;?> 
     <div class="text"><?php echo '<b>'. $vcat['Video']['title'].'</b>' ; ?></div> 
    </div> 
</td> 
<?php 
     if($counter % 3 == 0){ 
      echo '<br/>'; 
     } 
     ++$counter; 
    } 
?> 
</tr> 
</table> 
+0

この点を説明してくれてありがとう – user1080247

0
<table id="tblThumbsLayout" cellpadding="0" cellspacing="6"> 

<tr> 
    <?php $counter = 1; $last = count($vcats)-1; ?> 
    <?php foreach ($vcats as $vcat) { ?> 

<td class="tdImg"> 
    <div> 

     <?php echo '<iframe class="youtube-player" type="text/html" width=" 200 " height=" 100 " src="http://www.youtube.com/embed/' . $vcat['Video']['link'] . '"></iframe>' ;?> 
     <div class="text"><?php echo '<b>'. $vcat['Video']['title'].'</b>' ; ?></div> 
    </div> 
    <?php if($counter%3==0 && $counter != $last): ?> 
     <br> 
    <?php $counter++; ?> 
    <?php endif; ?> 
</td> 
<?php } ?> 
</tr> 
</table> 
1

が、私は、各項目に、そのdivのIDが#videoの使用表示のためのスタイルシートでのdivのid =ビデオを追加します。インライン;

次に、1行につき3を許可するようにdivの幅を設定します。

このようにすれば、ループについて心配する必要はありません。

+0

あなたもそうだと思います – user1080247

関連する問題