0

有谁知道如何在搜索引擎加载下一个结果时在结果页面底部创建超链接编号的好资源?

该页面将加载前 10 个结果。然后,如果您单击该数字,它会在该 10 个数字范围内加载相应的结果。

例子:

0-10 -> 不显示数字

11-20 -> 显示 1, 2

21-30 -> 1, 2, 3

最多 50 任何超过 50 的东西 1,2,3,4,5.....67 [最后一个数字]。

到目前为止我的想法(我在 PHP/mysqli 中这样做,但逻辑比代码更重要):

$total = mysqli_num_rows($result) //total number of reqults from sql query
if ($total>10) {
$last = intval($total/10) + 1 //get the last number of the results

if($last <= 5){
for ($i, $i<$last, $i++){
//print the numbers as hyperlinks
} else {
  //print 1 through 5 ... then $last
}
}

虽然这是静态的,只有 1-5...最后一个数字,而搜索引擎有它,所以如果你点击这个数字,它会记住那个数字并以此为基础建立新的逻辑。因此,如果我单击公式中的 5,它应该会更改为:

[上一个] 3,4,5,6,7....67 [下一个]

然后我会再次将数字传递给页面本身,并根据传递的数字限制结果。关于传递信息的最佳方式还有什么建议吗?

4

2 回答 2

1

您正在寻找分页脚本。访问此链接该页面是阿拉伯语,但第四篇文章是分页的,您可以下载分页的英文或阿拉伯语版本的源代码

于 2012-10-24T07:43:00.907 回答
1

基本上,您需要两个值来创建分页、限制和偏移。

1.The limit is the amount of items your are displaying at the same time.
2.The offset is from where you started your query.

因此,假设您在每页中有 5 个项目,总共有 25 个项目。

在您的查询中,您必须限制 5,0(项目数量和查询将开始的位置)。

现在,如果除以 5(限制)/25(总计),您将得到 5(页数)。

现在在第 0 页(开始)中,您可以通过将页码乘以限制来获得偏移量,因此 0(页面)* 5(限制)为您提供 0(在第一页中,您从偏移量 0 开始)。

现在在第 3 页,将 3(page) * 5 (limit) 乘以 15,这意味着在第 3 页(如果考虑到您实际上从第 0 页开始,则为 4 页)您将从偏移量 16 显示到20.

最后在第 4 页(对于您的用户来说,这将是第 5 页,因为他们从第 1 页开始,而不是第 0 页)您将显示从偏移量 21 到 25,它们是您查询中的所有项目。

于 2012-10-24T07:46:54.190 回答