mysql中的一个分页实例

<%
/*每页显示的条数(可以自己随便定义)*/
int pageSize = 3;

/*起始页(可以自己随便定义)*/
int startRow = 0;

/*如果判断的值是对的,那么将当前页的起始页一定不是0,那么我们就将起始页的指针指向这个起始页*/
if (request.getParameter("startRow") != null){
try{

startRow = Integer.parseInt(request.getParameter("startRow"));
}catch(Exception e){
/*如果在转化的过程中出现了异常,那么我就将这个起始页还之前startRow=0的首页*/
startRow = 0;
}
}

%>


***********************翻页:首页,上一页,下一页,末页**********************

<%--查询数据库中有多少条跟查询条件相符的信息 --%>
<sql:query var="selectCount" dataSource="${connectDBSource}">
我们要查询的sql,这个sql要和下面的要显示是的sql是一致的
</sql:query>

<%-- 翻页(除了用到了查询的selectCount根据你定义的更改外,其它的代码可以直接使用) --%>
<script type="text/javascript">

function turnPage(pageNum){
alert("翻页翻页啦翻页啦");
<%--设置首页 --%>
if (pageNum*1 == 0){
alert("首页");
window.location = "searchRKInfo.jsp?startRow="+pageNum+"&f="+new Date().getTime();
}

/*上一页*/
if(pageNum=="previous"){
if(<%=startRow%>==0){
alert("已经是第一页了");
return false;
}
pageNum = <%=startRow%>-<%=pageSize%>;
window.location = "searchRKInfo.jsp?startRow=" + pageNum + "&f=" + new Date().getTime();
}

/*下一页*/
if(pageNum=="next"){

/*处理下一页的问题(当数据库中有偶数条记录时)*/
if(${selectCount.rowCount}%<%=pageSize%>==0){
pageNum = (<%=startRow%> + <%=pageSize%>)==${selectCount.rowCount}?<%=startRow%>:(<%=startRow%> + <%=pageSize%>);
}

/*处理下一页的问题(当数据库中有奇数条记录时)*/
if(${selectCount.rowCount}%<%=pageSize%>!=0){
pageNum = (<%=startRow%> + <%=pageSize%>)>${selectCount.rowCount}?<%=startRow%>:(<%=startRow%> + <%=pageSize%>);
}

if(pageNum==<%=startRow%>){
alert("已经是最后一页了");
return false;
}
window.location = "searchRKInfo.jsp?startRow=" + pageNum + "&f=" + new Date().getTime();
}

/*末页*/
if(pageNum=="end"){
alert("末页");
var endNum = ${selectCount.rowCount}%<%=pageSize%>;
if(endNum==0){
pageNum = ${selectCount.rowCount}-<%=pageSize%>;
}
if(endNum!=0){
pageNum = ${selectCount.rowCount}-(${selectCount.rowCount}%<%=pageSize%>);
}
window.location = "searchRKInfo.jsp?startRow=" + pageNum + "&f=" + new Date().getTime();
}

}
</script>


***************翻页:跳转到 页******************************

<%-- 除了用到了查询的selectCount根据你定义的更改外,其它的代码可以直接使用 --%>
<script type="text/javascript">

function isNull(str){
var reg = /^\s*$/;
if(str=="" || reg.test(str)){
return true;
}
if(str==null || str=="null" || str=="undefined"){
return true;
}
return false;
}

/*跳到第几页*/
function jumpToPage(jumpToPage){

var pageNum;

/*upButton 当不添值时,点击跳转给以提示*/
if(isNull(document.getElementById("pageUp").value) && jumpToPage=="upButton"){
alert("跳转值不能为空");
return false;
}

/*downButton 当不添值时,点击跳转给以提示*/
if(isNull(document.getElementById("pageDown").value) && jumpToPage=="downButton"){
alert("跳转值不能为空");
return false;
}

/*当upButton填写正确,执行跳转操作*/
if(!isNull(document.getElementById("pageUp").value) && jumpToPage=="upButton"){
pageNum = document.getElementById("pageUp").value;
}

/*当downButton填写正确,执行跳转操作*/
if(!isNull(document.getElementById("pageDown").value) && jumpToPage=="downButton"){
pageNum = document.getElementById("pageDown").value;
}

if(pageNum<=0){
alert("您输入的页数小于指定的页数");
return false;
}

/*参数值大于指定的页数(当数据库总行数为偶数时)*/
if(${selectCount.rowCount}%<%=pageSize%>==0){
if(pageNum>(${selectCount.rowCount}/<%=pageSize%>)){
alert("您输入的参数大于指定的页数");
return false;
}
}

/*参数值大于指定的页数(当数据库总行数为奇数时)*/
if((${selectCount.rowCount}%<%=pageSize%>!=0)){
if(pageNum>parseInt(${selectCount.rowCount}/<%=pageSize%>)+1){
alert("您输入的参数大于指定的页数");
return false;
}
}

/*参数不是数字*/
if(!(/^\d+(\.\d+)?$/).test(pageNum)){
alert("请输入正确的跳转页(参数应为数字类型)");
}else {
window.location = "searchRKInfo.jsp?startRow=" + (pageNum*<%=pageSize%>-3) + "&f=" + new Date().getTime();
}
}
</script>

在我们要使用的分页的显示页面searchRKInfo.jsp中,我们要这样写(注意startRow,maxRows的使用,这样得出来的查询页面才是被分过页的)

<sql:query var="selectRKInfo" dataSource="${connectDBSource}" startRow="<%=startRow %>" maxRows="<%=pageSize %>">
<%=要查询的sql %>
</sql:query>

******************以上的方法被下面的程序调用***************************

<span onClick="turnPage(0)" style="cursor:pointer" class="title2">首页</span>  
<span onClick="turnPage('previous')" style="cursor:pointer" class="title2">上一页</span>  
<span onClick="turnPage('next')" style="cursor:pointer" class="title2">下一页</span>  
<span onClick="turnPage('end')" style="cursor:pointer" class="title2">末页</span>  
<span class="title2">跳至第
<input type="text" name="pageUp" id="pageUp" style="width:2em; height:1.4em">页 <input type="button" value="跳转" οnclick="return jumpToPage('upButton')"></span>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值