PHP - Foreach循环,每行限制3个项目

时间:2016-11-30 08:57:15

标签: php

我从Exact中检索我的项目并显示它们使用PHP循环。但是,我想在每3个项目之后添加一个HTML标记(br)。

有可能这样做吗?我目前的代码:

<?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>";
        }
    }
?>

但是,这不起作用。我做错了什么?

2 个答案:

答案 0 :(得分:3)

您的代码只会<br>一次。 如果您需要在每三个项目之后放置,则需要重置变量:

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

或改变条件:

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

答案 1 :(得分:0)

它不起作用,因为您的计数未重置。如果count == 3,它会执行<br>但在此之后,计数会再次增加。因此count将为4,5,6,7等,true

永远不再为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>";
    }
}
?>