ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2019-07-22 04:37:00  阅读:234  来源: 互联网

标签:php database pagination


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

几乎每个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都有会议用于在会话中缓存此数据的某些部分,您可能会或可能不想这样做,具体取决于您预期的表大小,数据的波动性等.

标签:php,database,pagination
来源: https://codeday.me/bug/20190722/1499485.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有