express + jqPaginator 分页展示内容
写在前面的话
分页展示内容也是我们在页面开发中经常会遇到的需求
前端页面利用jqPaginator这个jquery插件来编写
后端利用mysql存储数据
开始敲代码
回顾sql知识
首先让我们回顾一下sql语句,我们只想查询出数据表里的某几条用limit实现
select * from 表名 limit [offset,] rows
其中,limit后面可以跟两个参数,也可以跟一个参数。
跟一个参数表示rows,相当于offset=0,从数据表中的第一条记录开始查询出rows条数据。
跟两个参数的话,第一个是从0开始的偏移量,第二个参数表示想查询出来的记录数。
利用jqPaginator这个优秀的jquery分页插件编写一个分页条
注意:这个分页是基于bootstrap3.1.1写出来的
<!DOCTYPE html>
<html>
<head>
<link type="text/css" rel="stylesheet" href="http://cdn.staticfile.org/twitter-bootstrap/3.1.1/css/bootstrap.min.css"/>
</head>
<body>
<div style="text-align: center;">
<ul class="pagination" id="pagination1"></ul>
</div>
</body>
<script src="/javascripts/jquery.min.js"></script>
<script src="/javascripts/jqPaginator.js"></script>
<script>
$.jqPaginator('#pagination1', {
totalPages: 100,
visiblePages: 3,
currentPage: 1,
onPageChange: function (num, type) {
if (type == 'change') {
//这里是点击分页的回调
}
}
});
</script>
</html>
这里我们可以方便的把分页按钮写出来
后台代码
router.get('/pages', function (req, res, next) {
// res.json({"name": 123});
var page = req.query.page;
var page = (--page)*5;
var connection = mysql.createConnection({
host: '127.0.0.1',
port: 3306,
user: 'root',
password: 'root',
database: 'vr02'
});
connection.connect(function(err) {
if (err) {
throw err;
}
console.log('连接数据库成功');
});
connection.query('select * from user limit ?, 5',[page],function (err,data,fields) {
if (err) {
throw err;
}
res.json(data);
connection.end();
});
});
后台代码连接数据库,并且将部分记录返回给客户端
发送ajax请求获取记录数
function getDatas(page) {
$.ajax({
type: 'get',
url: '/pages',
data: 'page='+page,
dataType: 'json',
success: function (data) {
var html = '';
for (var i = 0; i < data.length; i++) {
html += '<tr>';
html += '<td>' + data[i].id + '</td>';
html += '<td>' + data[i].user + '</td>';
html += '<td>' + data[i].pass + '</td>';
html += '</tr>';
}
console.log(html);
$("#content").html(html);
}
})
}
OK!大功告成!