ajax实现无刷新分页(php)


Posted in PHP onJuly 18, 2010
<!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>  $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 相关文章推荐
SMARTY学习手记
Jan 04 PHP
分页详解 从此分页无忧(PHP+mysql)
Nov 23 PHP
基于PHPExcel的常用方法总结
Jun 13 PHP
PHP使用flock实现文件加锁的方法
Jul 01 PHP
PHP的Laravel框架中使用AdminLTE模板来编写网站后台界面
Mar 21 PHP
php禁用cookie后session设置方法分析
Oct 19 PHP
laravel如何开启跨域功能示例详解
Aug 31 PHP
PHP面向对象五大原则之接口隔离原则(ISP)详解
Apr 04 PHP
php生成二维码不保存服务器还有下载功能的实现代码
Aug 09 PHP
PHP实现创建一个RPC服务操作示例
Feb 23 PHP
PHP基于进程控制函数实现多线程
Dec 09 PHP
Mac系统下搭建Nginx+php-fpm实例讲解
Dec 15 PHP
php将会员数据导入到ucenter的代码
Jul 18 #PHP
php 无限级数据JSON格式及JS解析
Jul 17 #PHP
php下使用strpos需要注意 === 运算符
Jul 17 #PHP
按上下级层次关系输出内容的PHP代码
Jul 17 #PHP
PHP开发负载均衡指南
Jul 17 #PHP
PHP无敌近乎加密方式!
Jul 17 #PHP
生成ubuntu自动切换壁纸xml文件的php代码
Jul 17 #PHP
You might like
Fleaphp常见函数功能与用法示例
2016/11/15 PHP
使用php自动备份数据库表的实现方法
2017/07/28 PHP
php 提交表单 关闭layer弹窗iframe的实例讲解
2018/08/20 PHP
Laravel相关的一些故障解决
2020/08/19 PHP
面向对象的javascript(笔记)
2009/10/06 Javascript
js实现全屏漂浮广告移入光标停止移动
2013/12/02 Javascript
javascript字符串替换及字符串分割示例代码
2013/12/12 Javascript
jquery数组之存放checkbox全选值示例代码
2013/12/20 Javascript
jquery小火箭返回顶部代码分享
2015/08/19 Javascript
jQuery插件datatables使用教程
2016/04/21 Javascript
bootstrap学习笔记之初识bootstrap
2016/06/21 Javascript
Three.js学习之正交投影照相机
2016/08/01 Javascript
chorme 浏览器记住密码后input黄色背景处理方法(两种)
2017/11/22 Javascript
Bootstrap Table 搜索框和查询功能
2017/11/30 Javascript
vue短信验证性能优化如何写入localstorage中
2018/04/25 Javascript
vue裁切预览组件功能的实现步骤
2018/05/04 Javascript
mpvue+vuex搭建小程序详细教程(完整步骤)
2018/09/30 Javascript
Javascript实现动态时钟效果
2018/11/17 Javascript
微信小程序用户授权,以及判断登录是否过期的方法
2019/05/10 Javascript
JavaScript动态添加数据到表单并提交的几种方式
2019/06/26 Javascript
vue实现抖音时间转盘
2019/09/08 Javascript
Python 数据结构之堆栈实例代码
2017/01/22 Python
详解Python列表赋值复制深拷贝及5种浅拷贝
2019/05/15 Python
python科学计算之scipy——optimize用法
2019/11/25 Python
Python lambda表达式原理及用法解析
2020/08/18 Python
python 调整图片亮度的示例
2020/12/03 Python
python正则表达式re.match()匹配多个字符方法的实现
2021/01/27 Python
使用CSS3实现圆角,阴影,透明
2014/12/23 HTML / CSS
使用HTML5 IndexDB存储图像和文件的示例
2018/11/05 HTML / CSS
女子职高个人自荐书
2014/02/01 职场文书
群众路线专项整治方案
2014/10/27 职场文书
护理见习报告范文
2014/11/03 职场文书
2015年政府采购工作总结
2015/05/21 职场文书
2016创先争优活动党员公开承诺书
2016/03/24 职场文书
windows11怎么查看wifi密码? win11查看wifi密码的技巧
2021/11/21 数码科技
vue 数字翻牌器动态加载数据
2022/04/20 Vue.js