Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pagination 建筑物分页_Pagination - Fatal编程技术网

Pagination 建筑物分页

Pagination 建筑物分页,pagination,Pagination,虽然这个问题被问了好几次,但我真的找不到任何线索 我正在从事一个客户项目,其中页码是这样生成的: [1] [2][3][4][5][6][7][8][9][10][11]等等 因此,如果有100页,这些数字将计入。。。[100] 以下是我正在使用的代码: {foreach var=$page from=$pages counter=$counter} <li><a href="$page.page_url">$counter</a> {/foreach} {

虽然这个问题被问了好几次,但我真的找不到任何线索

我正在从事一个客户项目,其中页码是这样生成的:

[1] [2][3][4][5][6][7][8][9][10][11]等等

因此,如果有100页,这些数字将计入。。。[100]

以下是我正在使用的代码:

{foreach var=$page from=$pages counter=$counter}
<li><a href="$page.page_url">$counter</a>
{/foreach}
{foreach var=$page from=$pages counter=$counter}
  • {/foreach}
  • 我希望他们分页,这样最多只有10页的数字显示每页

    任何帮助都将不胜感激


    提前感谢。

    首先,您必须记住当前页面的页码。然后决定分页的行为。示例当前页、下四页、前三页、第一页和最后一页

    因此,第9页的内容如下所示: [1] ... [6] [7][8][9][10][11][12][13]。。。[100]

    下一个(最难的)事情是定义一个有效的算法

    例如:

  • 定义一个空列表
  • 将当前页面放在列表中
  • 在当前页面之前添加所需数量的元素(例如,当前页面左侧的第一个元素和m个元素)
  • 在当前页面之后添加所需数量的元素(例如页面右侧的n个元素和最后一个元素)
  • 迭代列表以生成分页
  • 迭代示例:

    foreach element on list:
        if element.value == current_page
            print_bold [element.value]
        else
            print [element.value]
        nextElement = list.nextElement
        if nextElement.value - element.value > 1:
            print "..."
    

    对于大量的页面,考虑“对数”分页,这里描述(包含PHP代码):


    谢谢,但我雇了一名开发人员来完成这项工作。但正如你所说,这确实是一项复杂的任务,尤其是定义一个高效的算法。