Nic*_*ney 1 html php mysql foreach html-table
我想让它每3列形成一个新行.我迷失了,甚至在读完其他帖子之后也无法弄清楚如何做到这一点.所以我希望它就像
图标图标图标
图标图标图标
图标图标图标
等....
foreach($sMenu as $row) {
$sClass = ($row['id'] == $aPage['id']) ? ' class="ui-btn-active ui-btn-custom"' : ' class="ui-btn-custom"';
$sIcon = ($row['icon'] != '') ? ' data-icon="' . $row['icon'] . '"' : '';
$sSiteRoot = get('site-root');
$row['url'] .= ($row['url'] == '') ? '' : '/';
$url = $sSiteRoot . $row['url'];
$url = str_replace('(', '%28', $url);
$url = str_replace(')', '%29', $url);
$url = str_replace("'", '%27', $url);
$sNavigation2 .= '<td><img src=". $sIcon .' . $url . '"></td>';
}
Run Code Online (Sandbox Code Playgroud)
有时,最简单的方法是让变量跟踪运行此循环的次数.例如:
$i = 0;
Run Code Online (Sandbox Code Playgroud)
然后,在循环内部,只需检查数字$i是否等于2(在这种情况下).
foreach($sMenu as $row) {
// this is all your old code right here...
if ($i == 2) {
// then add your </tr><tr> break or whatever...
$i = 0;
} else {
$i++;
}
}
Run Code Online (Sandbox Code Playgroud)
然后,继续经历foreach循环.
这也可以使用模数运算符作为编写此"行中断"检查的更简洁方法来完成(如此处的其他答案所示).