Nodejs+mysql實(shí)現(xiàn)分頁查詢

前言:

上篇文章不知道什么原因不能被訪問,申訴感覺麻煩重新整理了下

一.實(shí)現(xiàn)簡易接口不會(huì)的同學(xué)移步:node實(shí)現(xiàn)簡易接口

1.mysql中提供的分頁的方法 : select * from 表名 limit m,n

/*  

* 分頁查詢

* mysql 提供的分頁方法: limit m,n ==>m代表從第幾號(hào)位開始,n: 代表選取的個(gè)數(shù)

** eg(前10條數(shù)據(jù)):select * from websites limit 0,10 ==>從第一號(hào)位開始,取10條數(shù)據(jù)  (當(dāng)前page_num=1) ;m=(1-1)*10

** eg(11-20條數(shù)據(jù)):select * from websites limit 10,10  ==>(當(dāng)前page_num=2) ;   m=(2-1)*10

* 由兩個(gè)例子可見sql分頁語句應(yīng)為:

        select * from table limit (page_num-1)*page_size,page_size; 

        其中page_num是頁碼,page_szie是每頁顯示的條數(shù)

*/

2.具體代碼

app.get('/api/getAll', function (req, res) {
    const page_num = req.query.page_num  //當(dāng)前的num
    const page_size = req.query.page_size  //當(dāng)前頁的數(shù)量
    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'] //查詢表中的數(shù)量
                    res.json({
                        result: 1,
                        status: 200,
                        message: "success",
                        data: result,
                        paging: {
                            page_num: page_num,
                            page_size: page_size,
                            total: total
                        }
                    })
                }
            })

        }
    })
})

3.返回?cái)?shù)據(jù)的格式


image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容