条件搜索加分页功能

一,后端接口

var express = require('express');

var router = express.Router();

const pool = require('../config.js')

router.get('/',(req,res) => {

    //模糊查询的sql  SELECT * FROM  bloginformation WHERE blogTitle LIKE ? OR blogContent LIKE ? OR blogLable LIKE ?

    var params = req.query || req.params;

    let sql = "SELECT * FROM `account`";  //查询列表所有的数据

    let sql1 = "SELECT * FROM `account`";

    let content = [];

    let content1 = [];

    let isMore = false;//是否有多个查询参数

    if(params.loginame){

        // 模糊查询两种方法直接在SQL语句后加 mysql.escape("%"+req.body.name+"%")

        // sql += " WHERE product_name LIKE "+mysql.escape("%"+req.body.name+"%")

        sql += " WHERE loginame LIKE ?";

        sql1 += " WHERE loginame LIKE ?";

        content.push( "%"+params.loginame+"%" );

        content1.push( "%"+params.loginame+"%" );

        isMore = true;

    }

    if(params.role){

        if(isMore){//true代表有多个参数

            sql += "and role like ?";//and是两个条件都必须满足,or是或的关系

            sql1 += "and role like ?";

        }else{

            sql += " WHERE role LIKE ?";

            sql1 += " WHERE role LIKE ?";

        }

        content.push( "%"+params.role+"%" );

        content1.push( "%"+params.role+"%" );

    }

    if(params.name){

        if(isMore){//true代表有多个参数

            sql += "and name like ?";//and是两个条件都必须满足,or是或的关系

            sql1 += "and name like ?";

        }else{

            sql += " WHERE name LIKE ?";

            sql1 += " WHERE name LIKE ?";

        }

        content.push( "%"+params.name+"%" );

        content1.push( "%"+params.name+"%" );

    }

    if(params.page || params.page_size){//开启分页

        let current = params.page;//当前页码

        let pageSize = params.page_size;//一页展示多少条数据

        sql += " limit ?,?";

        content.push((current-1)*pageSize,parseInt(pageSize));

    };

    pool.getConnection(function (err, connection) {

    if (err) console.log("POOL ==> " + err);

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

        if (err) {

            return res.send('err')

        }

        connection.query(sql1, content1,function(err,result1){

            if (err) {

                return res.send('err')

            }

            res.json({

                status:200,

                message:{

                    result:result,

                    data: result1,

                }

            })

        })

       

    });

  connection.release();

  })

   

 return

})




 

module.exports = router;

二,前端请求传参

let data = {

        title: this.values,

        status: status,

        name: this.name,

        page: page,

        page_size: page_size,

      };

 await select_document(data).then(async (ok) => {

        console.log(ok);

      });

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值