前言:
上篇文章不知道什么原因不能被访问,申诉感觉麻烦重新整理了下
一.实现简易接口不会的同学移步: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.返回数据的格式