微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 如何最有效地确定“页数”?

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

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

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

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

>最好的方法是静态保存页数,并在每次添加新条目时修改值. (尽管如此……我正在寻找一个动态的解决方案:-))
>对感兴趣的行执行SELECT COUNT(*)并在每次显示页面时计算页码.
>执行普通选择以获取所有行的结果集.现在不要通过调用MysqL_fetch_row来加载行,但是使用MysqL_num_rows获取行数. (因为我不知道这是如何实现的,我不知道它是否有效.任何人都知道吗?)然后我可以舒服地移动结果集指针. (对于MysqLi,有MysqL_data_seek,但本机MysqL扩展没有类似的功能.因此我认为这只是MysqLi的一些缓冲行为)

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

解决方法:

2号是最常见的模式

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

然后

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐