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

express mysql 怎么分頁(yè)

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

clipboard.png

回答
編輯回答
孤星

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

2017年11月21日 12:40
編輯回答
葬愛(ài)

謝邀!簡(jiǎn)單寫(xiě)一個(gè)示例供參考:

路由層,也可以說(shuō)控制層: 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));

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

module.exports = {
    blogList: function(req, res, next) {
        pool.getConnection(function(err, connection) {
            // 獲取前臺(tái)頁(yè)面?zhèn)鬟^(guò)來(lái)的參數(shù)
            var param = req.query || req.params;
            var pageNum = parseInt(param.pageNum || 1);// 頁(yè)碼
            var end = parseInt(param.pageSize || 10); // 默認(rèn)頁(yè)數(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;

希望對(duì)您有所幫助!

2018年4月25日 23:38