如何使用SQL Server和PHP(foreach方法)继续对分页中的每一页进行行编号

如何使用SQL Server和PHP(foreach方法)继续对分页中的每一页进行行编号,php,Php,我试图为显示的数据添加行号,但当我尝试转到下一页时,行号从1恢复 我希望在页码内连续添加行号,如下所示: 第一页显示20个数据,行号显示1~20。 第二页显示20个数据,行号显示21~40,而不是1~20 如何处理 这是我的getPage函数: <?php function getPage($stmt, $pageNum, $rowsPerPage) { $offset = ($pageNum - 1) * $rowsPerPage; $rows = array();

我试图为显示的数据添加行号,但当我尝试转到下一页时,行号从1恢复

我希望在页码内连续添加行号,如下所示:

第一页显示20个数据,行号显示1~20。

第二页显示20个数据,行号显示21~40,而不是1~20

如何处理

这是我的getPage函数:

<?php
  function getPage($stmt, $pageNum, $rowsPerPage)
  {
   $offset = ($pageNum - 1) * $rowsPerPage;
   $rows = array();
   $i = 0;
      while(($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_NUMERIC, SQLSRV_SCROLL_ABSOLUTE, $offset + $i)) && $i < $rowsPerPage)
      {
         array_push($rows, $row);
         $i++;
      }
    return $rows;
  }

在花了几个小时思考之后,我终于找到了答案。。
只需添加一个我用逻辑创建的魔法脚本,瞧~它就行了!LOL~xD

以下是工作脚本:

$mulai = ($pageNum>1) ? ($pageNum * $rowsPerPage) - $rowsPerPage : 0;

$i = $mulai + 1;

只需在foreach语句之前添加并编辑此脚本中的变量。

您的确切问题在哪里?尝试使用SQL server限制只选择您要查找的数据,然后您就完成了:)不幸的是,我已经浏览了该方法,但一切都表明SQL server无法识别限制函数,先生。。与MySQL数据库不同,我不能只添加限制函数,并从上次加载的页面中的最后几行继续获得行号输出:(好的,如果您无限制地使用SQL server,则可以获取所有行并在生成的数组中使用,
$offset
是在getPage函数中定义的,因此在脚本中不可用。
$mulai = ($pageNum>1) ? ($pageNum * $rowsPerPage) - $rowsPerPage : 0;

$i = $mulai + 1;