mysql分页查询所有数据库,php+MySQL实战案例【六】数据分页查询

bc3f9276acf88283a0569b9b9ef9ee92.png

在线QQ客服:1922638

专业的SQL Server、MySQL数据库同步软件

\本部分的原始计划是编辑和删除用户信息。在案例开发过程中,发现首先读取数据列表,然后删除或修改列表中的数据更为合理。 ,首先研究数据分页查询,然后编辑和删除数据。

数据查询

\ 我们的数据实际上存储在MySql数据库的一个表中,使用SQL查询的结果如下所示:

640%EF%BC%9F%20=

\ 但是我们不能要求所有系统用户都编写T-SQL直接操作数据表,因为便利性和安全性很差。人们喜欢通过该界面进行操作,并且只需单击几下鼠标即可管理数据。

\ 我们需要首先从数据库中取出数据,让用户清楚地看到每个记录的内容,并对数据执行基本操作(添加/删除/修改)。

数据查询期间的系统处理流程:

\ MySql负责存储数据,PHP负责将数据从数据库中取出,HTML前端负责数据显示。

\

数据管理期间的系统处理流程:

\ 用户在HTML前端进行操作,PHP根据相应的操作对MySql数据表进行操作,并将处理结果反馈给前端的用户。

\ 处理完数据查询后,使用指定的模板处理数据,然后按如下所示显示它:

f63be09cf429fb8696f7218202868f56.png

\

数据分页

\ 在我们的数据量很小或用户数量少的情况下,系统查询数据分页和非分页之间的区别不是很明显。但是,在多用户且数据量巨大的情况下,必须进行分页,可以有效地减轻业务负担,提高用户侧的数据响应速度。

1.减少服务器负载

\ 假设我们有一个表A,其数据量为10,000个项目,并发用户100个。用户登录系统时,所有用户同时请求主页上使用的A表数据,这将导致并发请求。此时,针对服务器的单个请求的数据量为10,000 * 100,即100万。大量并发请求将不可避免地消耗过多的服务器资源。

\ 假设我们进行了分页处理,则每次用户登录到首页时,我们只获取首页的前10个数据。当用户执行翻页操作时,他在另一个页面上重新请求10条记录。此时,即使相同的100个人发出数据请求,每次向服务器的数据请求量也仅为100 * 10,也就是1000。

经过简单的比较,您可以发现数据分页可以大大减少服务器负载。

\

2.改善用户的数据响应

\ 当未分页数据时,PHP需要在请求A表中的所有记录之后处理所有数据,并为数据设置HTML模板。此时,数据遍历相对昂贵。如果数据量和网络带宽不高,用户登录后会缓慢加载数据,严重影响用户体验。

\ 使用数据分页可以改善此问题。每个请求仅请求少量数据,并且从请求到呈现的整个数据过程非常流畅。

\

案例关键代码分析

\ 用户管理列表执行数据分页操作。默认情况下,每页显示5个数据,并且最初加载第一页的数据。 js分页数据请求如下:

//js分页数据请求方法

//page表示页面

//pagesize表示每页显示几条记录

函数PageInitForGetUser(页面,页面大小){

$.ajax({

网址:" action/GetAllUser.php",

dataType:" json",

异步:是的,

数据:{

页面:

页面大小:pagesize

},

类型:" POST",//请求方法

成功:功能(要求){

HtmlStr ="";

if(req.length \ gt; 0){

对于(var i = 0; i \\ = req.length-1; i ++){

HtmlStr + =" \\ tr \\ t00" + req [i].id +" \ lt;/td \ gt; \ lt; td \ gt; \ lt; u style =" cursor:指针" onclick =" Show(" + req [i ].Id +")" \\"> + req [i].username +" \ lt;/u \ gt; \ lt;/td \ gt; \ lt; td \ gt; " + req [i]。密码+" \\/td \ gt; \\ + req [i].sex +" \ lt;/td \ gt; \\ \ lt;/a> \ lt;/td> \ lt;/tr> ";

}

$("#UserTB")。 HTML(HtmlStr);

}

},

错误:功能(){

警报("数据接口请求错误!");

}

});

}

Ljib4So7yuWiadeJ0icV0IyPcSPezJZe7COH8D9IojeYg4RBBljibJTd4Iy7y9H2CPicQl1792RCP9IczicA=

PHP分页数据请求如下:

\ lt ;?的PHP

标头("内容类型:文本/html;字符集= utf-8");

包括" https://www.cnblogs.com/soulsjie/com/DBHelper.php";

$ DB =新的DBHelper();

$ page = $ _ POST [" page"];

$ pagesize = $ _ POST [" pagesize"];

$ Resoult = $ DB-\\ u> PageQuerySQL("从sys_user中选择*,其中user_type ="普通用户"按ID desc排序",$ page,$ pagesize);

回声$ Resoult;

? \ gt;

Ljib4So7yuWiadeJ0icV0IyPcSPezJZe7COH8D9IojeYg4RBBljibJTd4Iy7y9H2CPicQl1792RCP9IczicA=

初始化前端分页控件:

$("。zxf_pagediv")。 createPage({

pageNum:Math.ceil(TOTAL/PAGESIZE),//总记录/每页显示=总页数

当前:1,//当前页码

backfun:函数(e){

PageInitForGetUser(e.current,PAGESIZE);//回调函数,根据页面数和页面大小重新获取

}

});

Ljib4So7yuWiadeJ0icV0IyPcSPezJZe7COH8D9IojeYg4RBBljibJTd4Iy7y9H2CPicQl1792RCP9IczicA=

\

正在关注

下次更新:php + MySQL实战案例[7]数据编辑和删除。

\

\

\微信公众号同步更新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值