<项目一>分页后获取当前页的显示行数

mysql中分页可以用limit来实现


例如:

String  sql="select * from shop where EmployeeId ='"+id+"' Limit "+offset+","+count+" ";

count表示一页显示多少条;

offset表示偏移量,与count配合使用,用于多次请求,offset = (请求次数 - 1) * count


在实现分页过后用count(*)来计算查询到的所有数据量,同上例如:

String sql01="select count(*)from shop where EmployeeId ='"+id+"' ";

后面可以用number来接受这个值(int类型),

if (rs01 != null) {
try {
if(rs01.next()) {
                    number=rs01.getInt(1);
}
}catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
   }



最后想要知道当前页所显示的条目数,定义为resnumber

int resnumber = items.size();

(items同上一篇文档里的作用,是一个接收查询结果的list)


做完了 觉得蛮简单,也谢谢潘玉同学的指导!


<%@ page import="util.DbConnet" %> <%@ page import="java.sql.ResultSet" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% //获取用户输入的查询内容 String username = request.getParameter("appliance_type"); if(username==null) username=""; String realname = request.getParameter("appliance_name"); if(realname==null) realname=""; //1.数据总数 String sql = "select count(*) as total from `living_room_appliances` " + "where `appliance_type` like ? and `appliance_name` like ?;"; Object[] params = new Object[]{ "%"+username+"%","%"+realname+"%" }; ResultSet rs = DbConnet.select(sql, params); rs.next(); int total = rs.getInt("total"); //2.每页显示行数 int pageSize = 5; //3.总页数 double result = (double)total/pageSize; //向上取整:只要数值带有有效的小数,舍去小数,整数位加 int pageTotal = (int) Math.ceil(result); //4.当前页码 String pageNoStr = request.getParameter("pageNo"); pageNoStr = pageNoStr==null?"1":pageNoStr; int pageNo = Integer.parseInt(pageNoStr); //获取用户表中的数据,显示出来 sql = "select * from `living_room_appliances` " + "where `appliance_type` like ? and `appliance_name` like ? " + "limit ?,?;"; int start = (pageNo - 1) * pageSize;//(当前页码-1)*每页显示行数 params = new Object[]{ "%"+username+"%","%"+realname+"%",start,pageSize }; rs = DbConnet.select(sql, params); %> <html> <head> <title>用户列表</title> <link rel="stylesheet" href="../css/common.css"> <link rel="stylesheet" href="../css/list.css"> </head> <body> <%--搜索区域 S--%> <div class="search"> <form> <label for="username">账号:</label> <input type="text" id="username" name="username" value="<%=username%>"> <label for="username">姓名:</label> <input type="text" id="realname" name="realname" value="<%=realname%>"> <button id="btnSearch" class="primary" type="button">查询</button> <button id="btnReset" type="button">重置</button> </form> </div> <%--搜索区域 E--%> <%--按钮区域 S--%> <div class="btn-box"> <button id="btnAdd" class="primary" type="button">新增</button> </div> <%--按钮区域 E--%> <%--表格区域 S--%> <div class="table-box"> <table> <tr> <th>编号</th> <th>账号</th> <th>姓名</th> <th>操作</th> </tr> <% while (rs.next()){ %> <tr> <td><%=rs.getString("appliance_id")%></td> <td><%=rs.getString("appliance_type")%></td> <td><%=rs.getString("appliance_name")%></td> <td> <button data-id="<%=rs.getString("id")%>" name="btnEdit" class="primary" type="button">编辑</button> <button data-id="<%=rs.getString("id")%>" name="btnDelete" class="danger" type="button">删除</button> </td> </tr> <% } %> </table> </div> <%--表格区域 E--%> <%--页码区域 S--%> <div class="pager"> <ul> <li>共<%=total%>数据/每页<%=pageSize%></li> <% if(pageNo>1){%> <li class="page"><a href="list.jsp?username=<%=username%>&realname=<%=realname%>&pageNo=1">首页</a></li> <li class="page"><a href="list.jsp?username=<%=username%>&realname=<%=realname%>&pageNo=<%=pageNo-1%>">上页</a></li> <% } %> <%-- <li class="active">1</li>--%> <% for (int i=1;i<=pageTotal;i++){%> <li class="<%=(pageNo==i?"active":"")%>" class="page"> <a href="list.jsp?username=<%=username%>&realname=<%=realname%>&pageNo=<%=i%>"><%=i%></a> </li> <% } %> <% if(pageTotal>pageNo){%> <li class="page"><a href="list.jsp?username=<%=username%>&realname=<%=realname%>&pageNo=<%=pageNo+1%>">下页</a></li> <li class="page"><a href="list.jsp?username=<%=username%>&realname=<%=realname%>&pageNo=<%=pageTotal%>">尾页</a></li> <% } %> </ul> </div> <%--页码区域 E--%> <script src="../js/jquery-3.5.1.min.js"></script> <script src="../js/common.js"></script> <script> //绑定搜索按钮的点击事件 $('#btnSearch').on('click', function () { //获取搜索框中的内容:账号、姓名 let username = $('#username').val(); let realname = $('#realname').val(); window.location.href="list.jsp?appliance_type=" + username + "&realname=" + realname; }); //绑定重置按钮的点击事件 $('#btnReset').on('click', function () { window.location.href="list.jsp"; }); //绑定新增按钮的点击事件 $('#btnAdd').on('click', function () { window.location.href="add.jsp"; }); //绑定行内的编辑按钮点击事件 $('button[name=btnEdit]').on('click', function () { let id = $(this).attr('data-id');//从当前点击的按钮身上获取data-id的值 window.location.href = 'edit.jsp?id='+id; }); //绑定行内的删除按钮点击事件 $('button[name=btnDelete]').on('click', function () { if(confirm("确定要删除吗?")) { //获取删除按钮所在行的编号(id) let id = $(this).attr('data-id');//从当前点击的按钮身上获取data-id的值 //无刷新方式提交删除请求 postAction('/user/delete', {id: id}, function (res) { alert(res.msg); if (res.result) window.location.href = res.url; }); } }); </script> </body> </html>
最新发布
07-06
<%@ page import="util.DbConnet" %> <%@ page import="java.sql.ResultSet" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% //获取用户输入的查询内容 String appliance_id = request.getParameter("appliance_id"); if(appliance_id==null) appliance_id=""; String appliance_type = request.getParameter("appliance_type"); if(appliance_type==null) appliance_type=""; String appliance_name = request.getParameter("appliance_name"); if(appliance_name==null) appliance_name=""; //1.数据总数 String sql = "select count(*) as total from `living_room_appliances` " + "where `appliance_id` like ? and `appliance_type` like ? and `appliance_name` like ?;"; Object[] params = new Object[]{ "%"+appliance_id+"%","%"+appliance_type+"%","%"+appliance_name+"%" }; ResultSet rs = DbConnet.select(sql, params); rs.next(); int total = rs.getInt("total"); //2.每页显示行数 int pageSize = 5; //3.总页数 double result = (double)total/pageSize; //向上取整:只要数值带有有效的小数,舍去小数,整数位加 int pageTotal = (int) Math.ceil(result); //4.当前页码 String pageNoStr = request.getParameter("pageNo"); pageNoStr = pageNoStr==null?"1":pageNoStr; int pageNo = Integer.parseInt(pageNoStr); //获取用户表中的数据,显示出来 sql = "select * from `living_room_appliances` " + "where `appliance_id` like ? and `appliance_type` like ? and `appliance_name` like ?" + "limit ?,?;"; int start = (pageNo - 1) * pageSize;//(当前页码-1)*每页显示行数 params = new Object[]{ "%"+appliance_id+"%","%"+appliance_type+"%","%"+appliance_name+"%",start,pageSize }; rs = DbConnet.select(sql, params); %> <html> <head> <title>用户列表</title> <link rel="stylesheet" href="../css/common.css"> <link rel="stylesheet" href="../css/list.css"> </head> <body> <%--搜索区域 S--%> <div class="search"> <form> <label for="appliance_id">账号:</label> <input type="text" id="appliance_id" name="appliance_id" value="<%=appliance_id%>"> <label for="appliance_type">姓名:</label> <input type="text" id="appliance_type" name="appliance_type" value="<%=appliance_type%>"> <label for="appliance_name">姓名:</label> <input type="text" id="appliance_name" name="appliance_name" value="<%=appliance_name%>"> <button id="btnSearch" class="primary" type="button">查询</button> <button id="btnReset" type="button">重置</button> </form> </div> <%--搜索区域 E--%> <%--按钮区域 S--%> <div class="btn-box"> <button id="btnAdd" class="primary" type="button">新增</button> </div> <%--按钮区域 E--%> <%--表格区域 S--%> <div class="table-box"> <table> <tr> <th>编号</th> <th>账号</th> <th>姓名</th> <th>操作</th> </tr> <% while (rs.next()){ %> <tr> <td><%=rs.getString("appliance_id")%></td> <td><%=rs.getString("appliance_type")%></td> <td><%=rs.getString("appliance_name")%></td> <td> <button data-id="<%=rs.getString("id")%>" name="btnEdit" class="primary" type="button">编辑</button> <button data-id="<%=rs.getString("id")%>" name="btnDelete" class="danger" type="button">删除</button> </td> </tr> <% } %> </table> </div> <%--表格区域 E--%> <%--页码区域 S--%> <%--<div class="pager">--%> <%-- <ul>--%> <%-- <li>共<%=total%>数据/每页<%=pageSize%></li>--%> <%-- <% if(pageNo>1){%>--%> <%-- <li class="page"><a href="list.jsp?username=<%=username%>&realname=<%=realname%>&pageNo=1">首页</a></li>--%> <%-- <li class="page"><a href="list.jsp?username=<%=username%>&realname=<%=realname%>&appliance_name<%appliance_name%>&pageNo=<%=pageNo-1%>">上页</a></li>--%> <%-- <% } %>--%> <%-- <%– <li class="active">1</li>–%>--%> <%-- <% for (int i=1;i<=pageTotal;i++){%>--%> <%-- <li class="<%=(pageNo==i?"active":"")%>" class="page">--%> <%-- <a href="list.jsp?username=<%=username%>&realname=<%=realname%>&pageNo=<%=i%>"><%=i%></a>--%> <%-- </li>--%> <%-- <% } %>--%> <%-- <% if(pageTotal>pageNo){%>--%> <%-- <li class="page"><a href="list.jsp?username=<%=username%>&realname=<%=realname%>&pageNo=<%=pageNo+1%>">下页</a></li>--%> <%-- <li class="page"><a href="list.jsp?username=<%=username%>&realname=<%=realname%>&pageNo=<%=pageTotal%>">尾页</a></li>--%> <%-- <% } %>--%> <%-- </ul>--%> <%--</div>--%> <%--页码区域 E--%> <script src="../js/jquery-3.5.1.min.js"></script> <script src="../js/common.js"></script> <script> //绑定搜索按钮的点击事件 $('#btnSearch').on('click', function () { //获取搜索框中的内容:账号、姓名 let username = $('#username').val(); let realname = $('#realname').val(); window.location.href="list.jsp?username=" + username + "&realname=" + realname; }); //绑定重置按钮的点击事件 $('#btnReset').on('click', function () { window.location.href="list.jsp"; }); //绑定新增按钮的点击事件 $('#btnAdd').on('click', function () { window.location.href="add.jsp"; }); //绑定行内的编辑按钮点击事件 $('button[name=btnEdit]').on('click', function () { let id = $(this).attr('data-id');//从当前点击的按钮身上获取data-id的值 window.location.href = 'edit.jsp?id='+id; }); //绑定行内的删除按钮点击事件 $('button[name=btnDelete]').on('click', function () { if(confirm("确定要删除吗?")) { //获取删除按钮所在行的编号(id) let id = $(this).attr('data-id');//从当前点击的按钮身上获取data-id的值 //无刷新方式提交删除请求 postAction('/user/delete', {id: id}, function (res) { alert(res.msg); if (res.result) window.location.href = res.url; }); } }); </script> </body> </html> 请修改这些代码的错误
07-06
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值