【问题标题】:Zend Paginator: Load each page from Database with Limit and OffsetZend Paginator:使用限制和偏移从数据库加载每个页面
【发布时间】:2014-04-22 04:34:09
【问题描述】:

我正在使用以下代码进行分页

我将数据库结果提取限制为 10,

        $result = $model->search(); // sql Limit 10
        $paginator = Zend_Paginator::factory($result['listings']);
        $paginator->setItemCountPerPage(10);
        $paginator->setCurrentPageNumber($page);
        $this->view->paginator = $paginator;

我在数据库中有大约 10,000 条记录,我正在尝试为每个数据库请求获取 10 个结果并显示。

但是对于分页,我们需要获取所有结果并需要传递给 Zend Paginator,这会导致性能问题。 那么我如何使用 SQL 偏移量和限制(如 1,10...11,10...21,10)每页仅获取 10 个结果

点击第二页时,我需要从数据库中获取偏移量和限制为 11,10 等的结果

我需要从数据库中动态获取每个页面结果。怎么可能?

【问题讨论】:

    标签: php pagination zend-framework2


    【解决方案1】:

    是的,我也发现了这个问题……上周我也在考虑同样的情况。可以试试吗

    我的分页网址:http://zf2.localhost/controller/?page=2

    $SetItemCount=10;
    $CurrentPage=$this->params()->fromQuery('page');
    $NextPage=$current_page+1;
    $result = $model->search($NextPage,$SetItemCount);
    $paginator = Zend_Paginator::factory($result['listings']);
    $paginator->setItemCountPerPage($SetItemCount);
    $paginator->setCurrentPageNumber($page);
    $this->view->paginator = $paginator;
    

    我没有亲自尝试过。我想像这样进行。许多人需要buffer 结果集并使用Iterator

    【讨论】:

    • 我不需要缓存结果,需要从数据库中动态获取每个页面结果
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 2016-04-07
    • 2017-04-14
    • 1970-01-01
    • 2012-10-07
    • 1970-01-01
    相关资源
    最近更新 更多