ajax实现无刷新分页(php)

 更新时间:2010年07月18日 00:09:51   作者:  
直接给出源代码,可自行分析,写的不好请留言指正,谢谢!
复制代码 代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>投票结果</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script type="text/javascript">
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
function checkajax(){
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("您的浏览器不支持AJAX!");
return ;
}else
{
return xmlHttp;
}
}
function preshow(){
ajaxobj = checkajax();
var url = "page.php?page=1";
ajaxobj.onreadystatechange=stateChanged;
ajaxobj.open("GET",url,true);
ajaxobj.send(null);
}
function showHint1(str)
{
ajaxobj = checkajax();
document.getElementById("msg").innerHTML="正在读取数据……";
var url = str;
ajaxobj.onreadystatechange=stateChanged;
ajaxobj.open("GET",url,true);
ajaxobj.send(null);
}
function showHint2(str)
{
ajaxobj=checkajax();
document.getElementById("msg").innerHTML="正在读取数据……";
var url = str;
ajaxobj.onreadystatechange=stateChanged;
ajaxobj.open("GET",url,true);
ajaxobj.send(null);
}
function showHint3(str)
{
ajaxobj=checkajax();
document.getElementById("msg").innerHTML="正在读取数据……";
var url = str;
ajaxobj.onreadystatechange=stateChanged;
ajaxobj.open("GET",url,true);
ajaxobj.send(null);
}
function showHint4(str)
{document.getElementById("msg").style.display="none";
ajaxobj=checkajax();
document.getElementById("msg").innerHTML="正在读取数据……";
var url = str;
ajaxobj.onreadystatechange=stateChanged;
ajaxobj.open("GET",url,true);
ajaxobj.send(null);
}
function stateChanged()
{
if (xmlHttp.readyState==4)
{
document.getElementById("message").innerHTML=xmlHttp.responseText;
}
}
</script>
</head>
<body onload="preshow()">
<div id="wrapper">
<h4>用户留言如下:</h4>
<div id="message">
</div>
</div>
</body>
</html>

复制代码 代码如下:

<?php
$link = mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_select_db('vote', $link) or die(mysql_error());
mysql_query("set names utf8");
$num = 3;
$url = "page.php";
$con = "<ul id='msg'>";
$page = (isset($_REQUEST['page'])) ? $_REQUEST['page'] : 1;
$offset = ($page - 1) * $num;
$result = mysql_query("SELECT COUNT(*) FROM client");
$total = mysql_fetch_row($result);
$total = $total[0];
$pagenum = ceil($total / $num);
$page = min($pagenum, $page); //获得首页
$prepg = $page - 1; //上一页
if ($prepg <= 1)
$prepg = 1;
$nextpg = ($page == $pagenum ? 1 : $page + 1); //下一页
//如果只有一页则跳出函数:
if ($pagenum <= 1)
return false;
$sql = "SELECT `name`,`content` FROM `client` LIMIT " . $offset . "," . $num;
$res = mysql_query($sql);
while ($content = mysql_fetch_row($res)) {
$con .= "<li><span>$content[0]:</span>&nbsp;&nbsp;$content[1]</li>";
}
$con .= "</ul>";
$con .= <<< PAGE
<p id="page"><a href="#" id="first" onclick="showHint1('$url?page=1')">首页</a>|<a href="#" id="pre" onclick="showHint2('$url?page=$prepg')">上一页</a>|<a href="#" id="next" onclick="showHint3('$url?page=$nextpg')">下一页</a>|<a href="#" id="last" onclick="showHint4('$url?page=$pagenum')">尾页</a></p>
PAGE;
echo $con;
?>

相关文章

  • php微信公众号开发之简答题

    php微信公众号开发之简答题

    这篇文章主要为大家详细介绍了php微信公众号开发之简答题,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • 阿里云PHP SMS短信服务验证码发送方法

    阿里云PHP SMS短信服务验证码发送方法

    这篇文章主要介绍了阿里云PHP SMS短信服务验证码发送方法,需要的朋友可以参考下
    2017-07-07
  • 深入浅析yii2-gii自定义模板的方法

    深入浅析yii2-gii自定义模板的方法

    Yii 是一个高性能,基于组件的 PHP 框架,用于快速开发现代 Web 应用程序。接下来通过本文给大家介绍yii2-gii自定义模板的方法,需要的朋友参考下吧
    2016-04-04
  • thinkPHP显示不出验证码的原因与解决方法分析

    thinkPHP显示不出验证码的原因与解决方法分析

    这篇文章主要介绍了thinkPHP显示不出验证码的原因与解决方法,结合具体实例形式分析了thinkPHP关于验证码显示的相关配置方法与注意事项,需要的朋友可以参考下
    2017-05-05
  • 使用PHP编写发红包程序

    使用PHP编写发红包程序

    微信发红包是最近非常火的一件事情,大家或多或少的都发过或者收到过红包,那么下面来看一个我们在生活中常碰到的一个php实现微信红包的程序算法,希望这个程序对各位做微信开的朋友会带来帮助.
    2015-07-07
  • Yii框架登录流程分析

    Yii框架登录流程分析

    这篇文章主要介绍了Yii框架登录流程,详细的分析了Yii框架的原理与登录的详细流程,有助于深入了解Yii框架的原理,需要的朋友可以参考下
    2014-12-12
  • WordPress免插件实现面包屑导航的示例代码

    WordPress免插件实现面包屑导航的示例代码

    这篇文章主要介绍了WordPress免插件实现面包屑导航,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • PHP如何使用Memcached

    PHP如何使用Memcached

    memcached是高性能的分布式内存缓存服务器。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。本文给大家介绍PHP如何使用Memcached,感兴趣的朋友一起学习吧
    2016-04-04
  • Smarty模板引擎缓存机制详解

    Smarty模板引擎缓存机制详解

    这篇文章主要介绍了Smarty模板引擎缓存机制,结合实例形式分析了Smarty模板引擎缓存机制的原理,开启与使用方法以及相关注意事项,需要的朋友可以参考下
    2016-05-05
  • ThinkPHP 在阿里云上的nginx.config配置实例详解

    ThinkPHP 在阿里云上的nginx.config配置实例详解

    这篇文章主要介绍了ThinkPHP 在阿里云上的nginx.config配置实例详解,需要的朋友可以参考下
    2017-10-10

最新评论