当前位置:  开发笔记 > 编程语言 > 正文

如何最有效地确定"页数"?

如何解决《如何最有效地确定"页数"?》经验,为你挑选了1个好方法。

我希望我不会写一份副本,但我找不到任何能回答我问题的内容.(虽然在我看来这是很常见的问题.)

几乎每个Web项目都会出现此问题:您有一个包含许多条目的表,并希望它们显示在单个页面上.

现在我想知道计算某组表行所需页数的最佳方法是什么.

这里有一些我一直在考虑的方法.我想对它们的效果有所回应.我将给出特定于PHP的示例,但我敢打赌其他语言​​中也有类似的技术.

    最好的方法是静态保存页数,并在每次添加新条目时修改值.(尽管如此......我正在寻找一个动态的解决方案:-))

    做一个SELECT COUNT(*)在感兴趣的行和每次显示页面时计算的页码.

    执行普通选择以获取所有行的结果集.现在不要通过调用来加载行mysql_fetch_row,但是要获取行数mysql_num_rows.(因为我不知道这是如何实现的,我不知道它是否有效.任何人都知道吗?)然后我可以舒服地移动结果集指针.(因为mysqlimysql_data_seek,但本机MySQL扩展没有类似的功能.因此我假设这只是一些缓冲行为mysqli)

任何人都可以说如何最有效地计算行数(页数)?



1> Peter Bailey..:

2号是最常见的模式

select count(*) from [Table] where [Expressions]

然后

select [Columns] from [Table] where [Expressions] limit [Pagesize] offset [Pagenum*Pagesize-Pagesize]

这将为您提供整个结果集的总行数,但仅提供当前页面的行数据.

许多框架或CMS都有会议用于在会话中缓存此数据的某些部分,您可能会或可能不想这样做,具体取决于您预期的表大小,数据的波动性等.

推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有