鍍金池/ 問答/數(shù)據(jù)庫  HTML/ express mysql 怎么分頁

express mysql 怎么分頁

sql語句應(yīng)該怎么寫clipboard.png

clipboard.png

回答
編輯回答
孤星

先獲取數(shù)據(jù)總個數(shù) select count(*) as sum from User
總頁數(shù) pages = Math.ceil(sum/n) //每頁顯示n個
再根據(jù)頁數(shù)去查詢 select * from User limit index,n //index 頁碼

2017年11月21日 12:40
編輯回答
葬愛

謝邀!簡單寫一個示例供參考:

路由層,也可以說控制層: routes/blog.js

var express = require('express');
var router = express.Router();

var blogDao = require('../dao/blogDao');

// 獲取列表
router.get('/list', function(req, res, next) {
    blogDao.blogList(req, res, next); 
});

module.exports = router;

DAO層: dao/blogDao.js

var mysql = require('mysql');
var $conf = require('../config/config');
var $util = require('../util/util');
var $sql = require('../mapper/blogMapper');

// 使用連接池,提升性能
var pool = mysql.createPool($util.extend({}, $conf.mysql));

// 向前臺返回JSON方法的簡單封裝
var jsonWrite = function(res, ret) {
    if (typeof ret === 'undefined') {
        res.json({
            code: '-1',
            msg: '后臺異常'
        });
    } else {
        res.json(ret);
    }
};

module.exports = {
    blogList: function(req, res, next) {
        pool.getConnection(function(err, connection) {
            // 獲取前臺頁面?zhèn)鬟^來的參數(shù)
            var param = req.query || req.params;
            var pageNum = parseInt(param.pageNum || 1);// 頁碼
            var end = parseInt(param.pageSize || 10); // 默認頁數(shù)
            var start = (pageNum - 1) * end;
            connection.query($sql.queryAll, [start, end], function(err, result) {
                jsonWrite(res, result);
                connection.release();
            });
        });
    }
};

sql: mapper/blogMapper.js

var blogSql = {
    queryAll: 'select * from blog_list order by create_time desc limit ?, ?'
};

module.exports = blogSql;

希望對您有所幫助!

2018年4月25日 23:38