有没有人知道如何在结果页面底部创建超链接号码的良好资源,因为搜索引擎会加载下一个数量的结果?
该页面将加载前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,它应该改为:
[previous] 3,4,5,6,7 .... 67 [next]
然后我会再次将该数字传递给页面本身,并根据传递的数字限制结果。有关传递信息的最佳方式的任何建议吗?
答案 0 :(得分:1)
您正在寻找分页脚本。访问此link该页面为阿拉伯语,但后面的帖子是分页,您可以下载英文或阿拉伯语版本的分页来源
答案 1 :(得分: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(页面)* 5(限制)乘以它给你15,这意味着在第3页(如果你考虑到你实际上从第0页开始,则为4)你将从抵消16至20。
最后在第4页(对于您的用户将是第5页,因为他们从第1页开始,而不是第0页),您将从偏移21到25显示,这些是查询中的所有项目。