【发布时间】:2013-10-30 11:34:55
【问题描述】:
我正在研究如何在 html 中进行简单的分页,但我想我遗漏了一些东西。
我想出了如何使用当前页码和每页的最大行数来执行LIMIT。
我还找到了一些关于如何通过 css 显示链接的教程。例如。
<ul id="mystyle">
<li class="previous">«Previous</li>
<li class="active">1</li>
<li><a href="?page=2">2</a></li>
<li><a href="?page=3">3</a></li>
<li><a href="?page=4">4</a></li>
<li><a href="?page=5">5</a></li>
<li><a href="?page=6">6</a></li>
<li><a href="?page=7">7</a></li>
<li class="next"><a href="?page=2">Next »</a></li>
</ul>
但我对用户按下以在页面之间进行选择的链接的显示感到困惑。当用户查看第一批行时,他应该看不到Previous,因为此时没有previous(我的意思是在第1页之前没有previous)。
所以对于最后一批他应该看不到Next(至少是一个超链接),因为在最后一页之后没有Next。但我对如何确定这一点感到困惑。
我能想到的唯一方法是如果我做一个SELECT COUNT(*) 以便获得我正在分页的结果集的总大小。但这不会破坏分页性能的目的。我经历过大量的结果集 SELECT COUNT(*) 需要花费大量时间(特别是如果我们有连接 - 我的意思是除了数据量之外)。
我需要帮助来理解如何构建算法以及让我感到困惑的细微之处。
【问题讨论】:
-
我不知道你的前端是在什么基础上构建的,但我通常在服务器端做这类事情。
-
@masedesign:服务器端解决方案是我正在考虑构建的
-
如果不查看返回到前端的内容,这真的很难说。如果您的页面链接一致(仅基于页码)并且您可以将变量设置为页面总数和当前页面,则可能有一个非常简单的 JavaScript 解决方案。
-
@masedesign:为什么这取决于返回?页面是在服务器上构建的。链接的数量是固定的。例如。 10
标签: html css sql pagination