我正在寻找智能分页的示例算法.通过智能,我的意思是我只想显示例如当前页面的2个相邻页面,所以不是以一个可笑的长页面列表结束,而是截断它.
这是一个让它更清晰的快速示例......这就是我现在所拥有的:
Pages: 1 2 3 4 [5] 6 7 8 9 10 11
Run Code Online (Sandbox Code Playgroud)
这就是我想要的结果:
Pages: ... 3 4 [5] 6 7 ...
Run Code Online (Sandbox Code Playgroud)
(在这个例子中,我只显示当前页面的2个相邻页面)
我在PHP/Mysql中实现它,并且"基本"分页(没有trucating)已经编码,我只是在寻找一个优化它的例子......它可以是任何语言的一个例子,只要它给了我一个如何实现它的想法......
假设我想循环遍历XML节点但我想忽略前10个然后将我抓到的数量限制为10.
$limit=10; //define results limit
$o=20; //define offset
$i=0; //start line counter
foreach($xml->id AS $key => $value){
$i++;
if($i > $o){
//if line number is less than offset, do nothing.
}else{
if($i == "$limit"){break;} //if line is over limit, break out of loop
//do stuff here
}
}
Run Code Online (Sandbox Code Playgroud)
所以在这个例子中,id想要从结果20开始,并且只显示10个结果,然后突破循环.虽然不行.有什么想法吗?