nodejs mysql分页_Nodejs+mysql实现分页查询

前言:

上篇文章不知道什么原因不能被访问,申诉感觉麻烦重新整理了下

一.实现简易接口不会的同学移步:node实现简易接口

1.mysql中提供的分页的方法 : select * from 表名 limit m,n

/*

* 分页查询

* mysql 提供的分页方法: limit m,n ==>m代表从第几号位开始,n: 代表选取的个数

** eg(前10条数据):select * from websites limit 0,10 ==>从第一号位开始,取10条数据 (当前page_num=1) ;m=(1-1)*10

** eg(11-20条数据):select * from websites limit 10,10 ==>(当前page_num=2) ; m=(2-1)*10

* 由两个例子可见sql分页语句应为:

select * from table limit (page_num-1)*page_size,page_size;

其中page_num是页码,page_szie是每页显示的条数

*/

2.具体代码

app.get('/api/getAll', function (req, res) {

const page_num = req.query.page_num //当前的num

const page_size = req.query.page_size //当前页的数量

const params = [(parseInt(page_num) - 1) * parseInt(page_size), parseInt(page_size)]

var sql = "select * from websites limit ?,?"

connection.query(sql, params, function (err, result) {

if (err) {

console.log('err', err.message)

res.json({

code: 1,

message: '查询失败'

})

} else {

let sqlTotal = 'select count(*) as total from websites' //as更换名称

connection.query(sqlTotal, function (error, among) {

if (error) {

console.log(error);

} else {

let total = among[0]['total'] //查询表中的数量

res.json({

result: 1,

status: 200,

message: "success",

data: result,

paging: {

page_num: page_num,

page_size: page_size,

total: total

}

})

}

})

}

})

})

3.返回数据的格式

8dd385abafc8

image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值