在服务器端修改数据分页查询

app入口

//express创建web服务器
const express = require('express');
const user = require('./routes/user.js');
const product = require('./routes/product.js');
const bodyParser = require('body-parser');
var app = express();
app.listen(3000);
//托管静态资源到public目录下
app.use(express.static('public'));
//使用body中间件
app.use(bodyParser.urlencoded({extended:false}));
//使用路由器来管理路由
//把user路由器挂载到/user下
app.use('/user',user)
//把product路由器挂载到/product下
app.use('/product',product);

html的写法

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>商品列表</title>
 </head>
 <body>
    <form action="/product/list" method="get">
      <h3>商品列表</h3>
      页数:<input type="text" name="pno"><br>
      每页大小:<input type="text" name="pageSize"><br>
      <input type="submit">
    </form>  
 </body>
</html>

搭建路由器

//引入express
const express = require('express');
//引入express连接池对象
const pool = require('../pool.js');
//使用express下的路由功能
var router = express.Router();
router.get('/list',(req,res)=>{
  //1.验证pno和page的值
  //获取页数,如果页数为空,默认值为1
  var $pno = req.query.pno;
  if(!$pno){
    $pno = 1;
  };
  //获取每页大小,如果每页大小为空,默认值为10
  //否则将用户输入的值转换成整型
  var $pageSize = req.query.pageSize;
  if(!$pageSize){
    $pageSize = 10;
  }else{
    //传入过来的值是字符串
    //①不允许输入小数
    //②在表单中,输入的值传递到服务器,得到的值字符串类型
    $pageSize = paresInt($pageSize)
  };
  //开始 = (当前页码-1)*每页大小  (pno-1)*pageSize
  //每页大小
  var sql = `SELECT * FROM xz_laptop ORDER BY lid ASC LIMIT ?,?`;
  pool.query(sql,[($pno-1)*$pageSize/*转换成为了Number类型*/,$pageSize],(err,result)=>{
    if(err) throw err;
    res.send(result);
  });
});


module.exports = router;

limit后面的参数计算方法

//第一个参数= ($pno - 1)*$pageSize


猜你喜欢

转载自blog.csdn.net/weixin_42546445/article/details/80825467
今日推荐