Php 分页行编号
所以我不能让它工作 变量Php 分页行编号,php,Php,所以我不能让它工作 变量$page包含当前页面,$total\u pages包含页面总量,$limit包含每页最大行数 我试过做很多事情,但就是不明白 这是我最近试过的东西。它适用于第1页和第2页,但随后就停止工作了 if ($page == 1) { $count = 1; } else { $count = $page * $limit/2 + 1; } 该代码位于我的while循环之上,while循环循环出行。这是: if ($page =
$page
包含当前页面,$total\u pages
包含页面总量,$limit
包含每页最大行数
我试过做很多事情,但就是不明白
这是我最近试过的东西。它适用于第1页和第2页,但随后就停止工作了
if ($page == 1) {
$count = 1;
} else {
$count = $page * $limit/2 + 1;
}
该代码位于我的while循环之上,while循环循环出行。这是:
if ($page == 1) {
$count = 1;
} else {
$count = ($page - 1) * $limit + 1;
}
它与您尝试的$page=1或2相当,这就是它起作用的原因。这甚至更短,无论$page
的值是多少:
$count = ($page - 1) * $limit + 1;
仔细想想这里的简单数学 如果
$page
是一个值>=1,则每个页面上的第一行将按如下方式计算:
$first_row_num = (($page - 1) * $limit) + 1;
第一页和其他页不需要不同的逻辑分支
还要注意,在处理页码时,在查询数据库时需要使用基于零的页码。因此,在查询数据库之前,需要执行类似的操作
$offset = ($page - 1) * $limit;
在您的限制条款中,您将使用:
... LIMIT $offset, $limit
因此,考虑到您需要在显示结果之前计算偏移量,您实际上可以执行以下操作:
$offset = ($page - 1) * $limit;
// make DB query here
// now calculate first row number using $offset
$first_row_num = $offset + 1;
你能显示更多的代码上下文吗?好的。那么你的问题是什么呢?
$count
应该是什么?实际上我认为在查询中更容易一些,这是否用于SQL限制偏移量,rowcount
子句?