如何使用SQL Server和PHP(foreach方法)继续对分页中的每一页进行行编号
我试图为显示的数据添加行号,但当我尝试转到下一页时,行号从1恢复 我希望在页码内连续添加行号,如下所示:如何使用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();
第一页显示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;