2016-11-30 18 views
2

Exactからアイテムを取得して、PHPループを使用して表示しています。しかし、私は3つの項目ごとにHTMLタグ(br)を入れたいと思っています。PHP - 各行で3つの項目を制限するForeachループ

これは可能性がありますか?現在のコード:

<?php 
    $glas = getGLAccounts($search); 
    $count = 0 

    foreach($glas as $gla) { 
     $count++; 
     echo "<tr><td><a href='glaccountedit.php?glaccount=".$gla['ID']."'>".$gla['Code']." </a></td><td>&nbsp;&nbsp;&nbsp;".$gla['Description']."</td></tr>"; 

     if ($count == 3) { 
      echo "</br>"; 
     } 
    } 
?> 

しかし、これは機能しません。私は間違って何をしていますか?

+1

http://stackoverflow.com/questions/9992396/how-to- define-html-tag-after-each-5-iteration-foreach-loop – AddcitedToLearn

+1

'if($ count%3 == 0)'モジュロ演算子を使用します。 – nicovank

+0

最初からやり直すにはカウンターをリセットする必要があります – RST

答えて

0

カウントがリセットされていないため、動作しません。 count == 3の場合は<br>となりますが、その後カウントが再び増加します。だから、countは4、5、6、7、なども、決して再びcount == 3

<?php 
$glas = getGLAccounts($search); 
$count = 0 

foreach($glas as $gla) { 
    $count++; 
    echo "<tr><td><a href='glaccountedit.php?glaccount=".$gla['ID']."'>".$gla['Code']." </a></td><td>&nbsp;&nbsp;&nbsp;".$gla['Description']."</td></tr>"; 
    if ($count == 3) { 
     $count = 0; 
     echo "</br>"; 
    } 
} 
?> 
3

ためtrueになりますあなたのコードは一度だけ<br>を配置します。 あなたはあなたの変数をリセットする必要があり、それぞれ3つの項目の後に置く必要がある場合:

if ($count == 3) { 
    $count = 0; 
    echo "</br>"; 
} 

または変更条件:

if ($count%3 === 0) { 
    echo "</br>"; 
} 
関連する問題