zoukankan      html  css  js  c++  java
  • 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!大功告成!

  • 相关阅读:
    我的技术移民之路(一)移,还是不移
    【新消息】 请问签证和护照有什么区别啊?_爱问知识人
    Australia Visa Information China Chinese Visa Types
    HqBaiduMusic百度音乐高品质下载Chrome扩展
    分享:一个支持并发, 支持异步/同步, 支持http/https, 支持续传的avhttp库
    linux世界里类似source insight的工具(zz)如梦初醒中国教育人博客
    分享:Fix8 0.7.0 发布,C++ 金融信息交换协议实现
    我的技术移民之路(一)移,还是不移
    转:javascript null和undefined 区别
    javascript Frame和IFrame
  • 原文地址:https://www.cnblogs.com/theone67/p/6709731.html
Copyright © 2011-2022 走看看