博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JSP/PHP基于Ajax的分页功能实现
阅读量:6040 次
发布时间:2019-06-20

本文共 4144 字,大约阅读时间需要 13 分钟。

hot3.png

最近JSP课程实训,然后自己做了一个新闻后台控制台。新闻列表的展示如果不用页面部分刷新(Ajax)来做的话,翻页的时候会重刷新页面(感觉很难看··),所以决定根据书上的例子+搜索的代码用Ajax来实现分页功能,顺便搞了个用PHP实现的 :)

JSP

    · 在JavaBean中实现数据库连接和格式化(JSON)从数据库查询到的数据

public UserDAO() {  //连接数据库连接    Connection conn;    Statement state;    ResultSet rs;        if (conn == null) {	try {	    Class.forName("com.mysql.jdbc.Driver");  //数据库使用MySQL.加载驱动	    conn = DriverManager.getConnection("jdbc:mysql://localhost/DBname", "userName", "pwd");	    } catch (Exception e) {		e.printStackTrace();	    }	}    }public String getUsers() { //格式化数据	StringBuffer sb = new StringBuffer();	sb.append("{newsList:[");	try {	    if (conn == null)		System.out.println("can not connection Database!");		state = conn.createStatement();		rs = state.executeQuery("select * from news");		while (rs.next())		    sb.append("{title:'" + rs.getString("title") + "',content:'"						+ rs.getInt("content") + "'},");		    sb.delete(sb.length() - 1, sb.length());		    sb.append("]}");		} catch (SQLException e) {		    e.printStackTrace();		} finally {		    try {			rs.close();			state.close();		    } catch (SQLException e) {			e.printStackTrace();		    }		}	    return sb.toString();	}

    · 声明XMLHttpRequest对象

// JavaScript Documentfunction createXMLHttpRequest() {    var xmlHttp=false;    if (window.ActiveXObject) {                         //在IE浏览器中创建XMLHttpRequest对象	try {	    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");	}	catch(e) {	    try {	        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 	    } catch(ee) {		xmlHttp=false;	    }	}    } else if (window.XMLHttpRequest) {                //在非IE浏览器中创建XMLHttpRequest对象	try {	    xmlHttp = new XMLHttpRequest();                      	} catch(e) {	    xmlHttp=false;	}    }        return xmlHttp;} 

   · index.html

var xmlhttp;var pageSize=5;     //每页显示5条记录var totalPage;     //总页数var totalRs;      //总记录数var jsonObj=new Object();function go(){    xmlhttp=createXMLHttpRequest();        //调用创建XMLHttpRequest对象的方法    xmlhttp.onreadystatechange=callback;  //设置回调函数    xmlhttp.open("post","index.jsp");    //向服务器端发送请求    xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");     xmlhttp.send(null);                 //设置发送参数 }function callback()  //对服务器端传回的JSON数据进行解析{ if(xmlhttp.readyState==4) { if(xmlhttp.status==200) { jsonObj=eval("("+xmlhttp.responseText+")");   //获得从服务器端返回的数据 totalRs=jsonObj.userList.length; totalPage=Math.ceil(totalRs/pageSize); splitPage(1); } }}function splitPage(currPage) //调用addRow方法输出表格格式的数据到页面{ while(document.getElementById("newsList").rows.length>1) document.getElementById("newsList").deleteRow(); var end; if(currPage<1) currPage=1; end=currPage*pageSize; if(currPage>=totalPage) { currPage=totalPage; end=totalRs; } var begin=currPage*pageSize-pageSize; for(var j=begin;j
上一页    
下一页    
尾页";}function addRow(align,n1,n2) { var tt=document.getElementById("newsList"); var newRow=tt.insertRow(); for(var c=1;c<3;c++) { var newCell=newRow.insertCell(); newCell.align=align; newCell.innerHTML=eval("n"+c); }}

数据分页显示

     
     
标题
内容          
      
         

    · index.jsp

<%@ page language="java" import="java.util.*,com.*" pageEncoding="UTF-8"%><%    UserDAO ud=new UserDAO(); //实例化JavaBean    out.print(ud.getUsers());%>

p.s: 效果图就是经常看到的在网页下面的那种分页栏··

PHP

· index.php

                 
        
        
数据分页显示        
    

· resultPage.php

\n";         echo "\n";         echo "标题内容";        for($a=0;$a<$num;$a++) {             echo "\n";            echo "
".$title[$a]."";             echo "
".$content[$a]."";                        echo "";           }         echo "\n";         echo "
";         echo "
";         echo "
";         echo "
第".$page."页/总".$pages."页 | 总".$numrows."条 | ";         if ($page>1) echo "
首页 | ";         if ($page>1) echo "
上页 | ";         if ($page<$pages) echo "
下页 | ";         if ($page<$pages) echo "
尾页";         echo " 转到第 
 页 
"; echo "

";?>

以上。

转载于:https://my.oschina.net/hanasite/blog/190859

你可能感兴趣的文章
Mysql 连接查询 Mysql支持的连接查询有哪些
查看>>
Hive Streaming 追加 ORC 文件
查看>>
打开Apache自带的Web监视器
查看>>
eclipse插件
查看>>
Android笔记:通过RadioGroup/RadioButton自定义tabhost的简单方法
查看>>
ELCSlider
查看>>
XCode工程中 Targets详解
查看>>
Ext.Msg.prompt的高级应用
查看>>
Postgres 中 to_char 格式化记录
查看>>
关于联合索引
查看>>
开源 java CMS - FreeCMS2.7 登录移动端管理中心
查看>>
Android FM模块学习之三 FM手动调频
查看>>
Python 设置系统默认编码以及其他编码问题大全
查看>>
Vbs脚本编程简明教程之十四
查看>>
如何UDP/TCP端口是否通了
查看>>
pxe实现系统的自动化安装
查看>>
Redis高可用技术解决方案总结
查看>>
Scale Out Owncloud 高可用(2)
查看>>
何为敏捷
查看>>
HA集群之四:Corosync+Pacemaker+DRBD实现HA Mysql
查看>>