CakePHP:编号分页结果

2 php mysql sql pagination cakephp

标题有点不稳定,但它是我在早上4点可以拿到的最好的.我有一个链接表,我正在分页,没有什么花哨的.假设有100个链接显示20个页面,共5页.如何编号从1开始,在第一页以20结尾的每个链接,如果我们跳到最后一页将是81到100.我有多个查询改变我的查询的方向和ORDER BY所以这必须是动态.使用CakePHP 1.2完成.这方面的一个例子是reddit.com

dec*_*eze 5

在视图中尝试此操作:

<?php debug($this->params['paging']); ?>
Run Code Online (Sandbox Code Playgroud)

这将为您提供有关分页器当前状态的一些内部信息.例如,你会发现这个:

Array (
    [Model] => Array (
            [page] => 2
            ...
            [options] => Array (
                    [limit] => 20
                    ...
Run Code Online (Sandbox Code Playgroud)

'limit'是"每页的项目",'page'并且正好是页面.
有了这些信息,将这种计数器插入到输出中应该是非常简单的.

$page = $this->params['paging']['Model']['page'];
$limit = $this->params['paging']['Model']['options']['limit'];

$counter = ($page * $limit) - $limit + 1;

foreach ($models as $model) {
    echo $counter;

    // normal $model output

    $counter++;
}
Run Code Online (Sandbox Code Playgroud)