怎样实现数据库的分页查询

怎样实现数据库的分页查询,第1张

针对查询语句做处理,同时对请求页面地址做分析

listaspxpageid=5 //表示访问第五页

后台语言里,先对查询条件做预处理

pagepre=pagesize4 //pagesize 用于表示分页大小,例如10,则前4页共有40条记录

查询语句

sqlcmd="select top "+pagesize+" from tabelname where id not in (select top "+pagepre+" from tablename order by id desc)"

*** 作原理为将当前页前显示的所有记录从数据查询结果中排除,也就是not in 后面的部分,然后从剩余的结果冲,读取pagesize大小的记录值。筛选条件、排序条件放在子查询中

一般分页的逻辑如下:

1)设置每页显示记录数:pageSize

2)前台 *** 作后对应的页码数:pageNum

3)同样条件的总记录数:totalCount

那么:

1)计算总页数:当 总记录数为0或者总记录数无法整除每页记录数的时候,总页数为 总记录数除以每页记录数的商数+1;否则为 总记录数除以每页记录数的商数;

2)每页显示数据的起始索引:当前页数减1后与每页记录数的乘积加1

3)每页显示数据的结束索引:当前页面数与每页记录数的乘积

以上即为一般分页逻辑,关键在于:

1、查询一定要排序,否则翻页后会出现记录串页的情况;

2、在数据组装逻辑中,计算好相应的分页3要素:每页显示记录数、当前页码数、总记录数即可完成分页

首页,分页跟取出数据是完全不同的 *** 作。分页,你只知道执行 SELECT COUNT() AS n FORM tablename; 即可知道表中有多少数据,然后计算分多少页。显示数据是 SELECT FROM tablename WHERE 查询条件 LIMIT 开始数, 读取数据量;如此即可

show databases命令用于显示所有数据库。

show databases命令格式:show databases; (注意:最后有个s)

例如:mysql> show databases;

注意:为了不在显示的时候乱码,要修改数据库默认编码。以下以GBK编码页面为例进行说明。

1) 修改MYSQL的配置文件:myini里面修改default-character-set=gbk

2) 代码运行时修改:

Java代码:jdbc:mysql://localhost:3306/testuseUnicode=true&characterEncoding=gbk

PHP代码:header("Content-Type:text/html;charset=gb2312");

C语言代码:int mysql_set_character_set( MYSQL mysql, char csname);

该函数用于为当前连接设置默认的字符集。字符串csname指定了1个有效的字符集名称。连接校对成为字符集的默认校对。该函数的工作方式与SET NAMES语句类似,但它还能设置mysql- > charset的值,从而影响了由mysql_real_escape_string() 设置的字符集。

以上就是关于怎样实现数据库的分页查询全部的内容,包括:怎样实现数据库的分页查询、调去数据库数据分页显示、如何高效率读取数据库并分页显示等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10143563.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存