如何水平和垂直布局记录

时间:2010-09-12 13:34:22

标签: php cakephp layout

我有一个用户表,我希望像Stack Overflow用户页面一样显示。所以说显示5条记录然后取一个新行,显示5条记录,取一个新行......

实现这一目标的最佳方式是什么?

2 个答案:

答案 0 :(得分:1)

你在谈论一种叫做分页的东西。你可以通过一个指示页码的变量来实现它,并根据它来计算哪些行以及你将从哪一行显示数据。

答案 1 :(得分:1)

如果你想每X次迭代做一些事情,你需要modulo operator %

因此,假设您正在使用表格行,并且您希望每5个项目显示一个新行。您基本上会在<tr>中包含这些项目,每个项目都在自己的<td>中。然后,每隔5个项目,您将关闭该行并打开一个新项目:

$str = <<< END
<table>
    <tbody>
        <tr>
END;

$numItems = count($items) ;

for ($i = 0 ; $i < $numItems) ; $i++) {
    $currItem = $items[$i] ;
    $str .= "<td>$currItem</td>";

    if ($i % 5 == 0) {
        $str .= "
        </tr>
        <tr>" ;
    }
}

$str .= "
        </tr>
    </tbody>
</table>" ;