【问题标题】:Zend paginator get increment countZend 分页器获取增量计数
【发布时间】:2013-02-18 14:54:29
【问题描述】:

您好,我在 Zend Framework 中有一个 Web 应用程序,我使用 Zend 分页器对列表进行分页,下面是我在控制器上实现 zend 分页器的代码

$page = $this->_getParam('page');
$biz = $testMapper->fetchAll();

        $paginator = Zend_Paginator::factory($biz);
        $paginator->setItemCountPerPage(4);
        $paginator->setCurrentPageNumber($page,1);
        $paginator->setPageRange(5);
        $this->view->paginator = $paginator;

现在在视图中,我将结果呈现如下

<?php foreach($this->paginator as $result) {?>
<p><?=$result['name']?></p>
<?php?>

结果如下:

name1
name2
name3

现在我在添加和增加计数时遇到问题,我如何修改上面的代码,结果会是这样的?

1.name1
2.name2
3.name3

如果我使用for 循环,我可以按照($i+0) 获得增量,前提是$i 设置为0

【问题讨论】:

  • 我知道这可能不是您正在寻找的确切答案...但是您有什么理由不能在 html 中使用有序列表
      吗?您可以简单地在 foreach 之前/之后放置一个
        标签,然后将每个项目设为
      1. 而不是

标签: php zend-framework pagination


【解决方案1】:

您可以通过数据显示的每次迭代增加一个计数器:

$i = 1;
foreach ($this->paginator as $result){
   echo '<p>' . $i . ' . ' . $result['name'] . '</p>';
   $i++;
}

【讨论】:

    【解决方案2】:
    <?php 
    $serialStart = ($this->paginator->getCurrentPageNumber()- 1) * $this->paginator->getItemCountPerPage();
    ?>
    
    <?php foreach($this->paginator as $result):?>
        <p><?=$serialStart++?>. <?=$result['name']?></p>
    <?php endforeach:?>
    

    这将创建连续到所有页面的序列号。即使你改变了setItemCountPerPage的值,你也不需要改变代码

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-19
      • 1970-01-01
      • 2016-10-29
      • 1970-01-01
      • 2017-03-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多