php,ajax实现分页


Posted in PHP onMarch 27, 2008

自己总结了些屁经验
1.用ajax post数据到后台页面后,接着要重新连接数据库,别以为用之前的session连接过就可以了
2.为了处理返回乱码的问题,我添加了header("Content-Type:text/html;charset=GB2312");就可以正常显示了,后来在firefox下检验,却提示我下载这个网页,上网搜了不少资料,得到一个模糊的认识就是网页代码有语法错误,firefox为了安全起见不会直接显示而是提示下载,我重新检查了刚才那条语句,发现自己多写了个“\”,把它去掉后问题就解决了,哈哈,所以遇到这样的问题,好好检查一下html tag吧,毕竟firefox可不像ie那样smart
3.最后说一句,做web site的开发者,要负责任,别以为在ie下测试通过就万事大吉,毕竟不是所有人都用ie,还得要在别的浏览器下多做测试,这样才显示出你的专业水准

ajax脚本: 

<script>  
function viewpage(p){  
if(window.XMLHttpRequest){  
var xmlReq = new XMLHttpRequest();  
} else if(window.ActiveXObject) {  
var xmlReq = new ActiveXObject('Microsoft.XMLHTTP');  
}  
var formData = "page="+p;  
xmlReq.onreadystatechange = function(){  
if(xmlReq.readyState == 4){  
document.getElementById('content2').innerHTML = xmlReq.responseText;  
}  
}  
xmlReq.open("post", "hotel_list.php", true);  
xmlReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");  
xmlReq.send(formData);  
return false;  
}  
</script> 

调用:
 
header("Content-Type:text/html;charset=GB2312");  
$pagesize=10;  
//echo $_POST['page'];  
$result = mysql_query("Select count(DISTINCT hotelname) FROM ".TBL_HOTELS);  
$myrow = mysql_fetch_array($result);  
$numrows=$myrow[0];  
$pages=intval($numrows/$pagesize);  
if ($numrows%$pagesize)  
$pages++;  
if (isset($_POST['page'])){  
$page=intval($_POST['page']);  
}  
else{  
//设置为第一页  
$page=1;  
}  
$first=1;  
$prev=$page-1;  
$next=$page+1;  
$last=$pages;  
//计算记录偏移量  
$offset=$pagesize*($page - 1);  
//读取指定记录数  
$result=mysql_query("select `hotelname` , count( * ) from ".TBL_HOTELS." GROUP BY `hotelname` order by id desc limit $offset,$pagesize");  
$num = mysql_num_rows($result);  
while ($row = mysql_fetch_array($result,MYSQL_NUM)) {  
$hotelname[] = $row[0];  
$countpeople[] = $row[1];  
}  
for($a=0;$a<$num;$a++)  
{  
//$result=mysql_query("select count(title) from " . TBL_Comments ." where `title`=\"".$title[$a]."\"");  
//$row = mysql_fetch_row($result);  
echo "<TABLE style=\"MARGIN-BOTTOM: 20px\" cellSpacing=0 cellPadding=0 width=100% border=0>\n";  
echo "<TBODY>\n";  
echo "<TR>\n";  
echo "<TD style=\"PADDING-TOP: 5px\" vAlign=top align=left width=80>\n";  
//rating_bar($title[$a],5);  
echo "</TD>\n";  
echo "<TD style=\"PADDING-TOP: 5px\" align=left width=100%><A title=$hotelname[$a] style=\"FONT-SIZE: 14px\" href=#>$hotelname[$a]</A>\n";  
echo "</TD></TR>\n";  
echo " <TR>\n";  
echo "<TD></TD>\n";  
echo "<TD style=\"PADDING-LEFT: 0px\">\n";  
echo "<IMG src=\"images/comment.gif\" border=0>  推荐人数:($countpeople[$a]) |\n";  
echo "<SPAN>平均分:<STRONG></STRONG> (".$count."票) | 评论数:()</SPAN>\n";  
echo "</TD></TR></TBODY></TABLE>\n";  
}  
echo "<TABLE style=\"MARGIN-TOP: 30px\" cellSpacing=0 cellPadding=0 width=\"100%\"";  
echo "border=0>";  
echo "<TBODY><TR><TD colSpan=3 height=20>";  
echo "<DIV align=center>";  
echo "<P align=left><FONT color=red>第".$page."页/总".$pages."页 | 总".$numrows."条</FONT> | ";  
if ($page>1) echo "<a onclick=\"viewpage(".$first.")\" href='#'>首页</a> | ";  
if ($page>1) echo "<a onclick=\"viewpage(".$prev.")\" href='#'>上页</a> | ";  
if ($page<$pages) echo "<a onclick=\"viewpage(".$next.")\" href='#'>下页</a> | ";  
if ($page<$pages) echo "<a onclick=\"viewpage(".$last.")\" href='#'>尾页</a>";  
echo "转到第 <INPUT maxLength=3 size=3 value=1 name=goto_page> 页 <INPUT hideFocus onclick=\"viewpage(document.all.goto_page.value)\" type=button value=Go name=cmd_goto>";  
echo "</P></DIV></TD></TR></TBODY></TABLE>";
PHP 相关文章推荐
Oracle Faq(Oracle的版本)
Oct 09 PHP
在数据量大(超过10万)的情况下
Jan 15 PHP
php strtotime 函数UNIX时间戳
Jan 14 PHP
PHP URL地址获取函数代码(端口等) 推荐
May 15 PHP
php计算数组不为空元素个数的方法
Jan 27 PHP
在PHP中运行Linux命令并启动SSH服务的例子
Jun 12 PHP
使用PHP和JavaScript判断请求是否来自微信内浏览器
Aug 18 PHP
PHP使用Pthread实现的多线程操作实例
Nov 14 PHP
PHP获取路径和目录的方法总结【必看篇】
Mar 04 PHP
PHP简单验证码功能机制实例详解
Mar 27 PHP
PHP7 mongoDB扩展使用的方法分享
May 02 PHP
简单的php购物车代码
Jun 05 PHP
PHP 5.0对象模型深度探索之类的静态成员
Mar 27 #PHP
PHP 5.0对象模型深度探索之对象复制
Mar 27 #PHP
PHP 5.0对象模型深度探索之属性和方法
Mar 27 #PHP
php简单静态页生成过程
Mar 27 #PHP
优化PHP代码的53条建议
Mar 27 #PHP
PHP连接access数据库
Mar 27 #PHP
某大型网络公司应聘时的笔试题目附答案
Mar 27 #PHP
You might like
Linux下PHP连接Oracle数据库
2014/08/20 PHP
Jquery.Form 异步提交表单的简单实例
2014/03/03 Javascript
javascript写的异步加载js文件函数(支持数组传参)
2014/06/07 Javascript
js限制文本框只能输入数字方法小结
2014/06/16 Javascript
ajaxFileUpload.js插件支持多文件上传的方法
2014/09/02 Javascript
win7下安装配置node.js+express开发环境
2015/12/06 Javascript
jquery插件uploadify实现带进度条的文件批量上传
2015/12/13 Javascript
JavaScript核心语法总结(推荐)
2016/06/02 Javascript
基于gulp合并压缩Seajs模块的方式说明
2016/06/14 Javascript
微信小程序 Page()函数详解
2016/10/17 Javascript
js,jq,css多方面实现简易下拉菜单功能
2017/05/13 Javascript
利用jquery去掉时光轴头尾部线条的方法实例
2017/06/16 jQuery
vue的传参方式汇总和router使用技巧
2018/05/22 Javascript
详解vue组件开发脚手架
2018/06/15 Javascript
解决VUE中document.body.scrollTop为0的问题
2018/09/15 Javascript
node.js调用C++函数的方法示例
2018/09/21 Javascript
小程序指纹验证的实现代码
2018/12/04 Javascript
Vue2 添加数据可视化支持的方法步骤
2019/01/02 Javascript
[02:28]DOTA2英雄基础教程 狼人
2013/12/23 DOTA
[01:05]主宰至宝剑心之遗
2017/03/16 DOTA
python实现对一个完整url进行分割的方法
2015/04/29 Python
浅谈MySQL中的触发器
2015/05/05 Python
在Python中操作字典之fromkeys()方法的使用
2015/05/21 Python
Flask数据库迁移简单介绍
2017/10/24 Python
python pands实现execl转csv 并修改csv指定列的方法
2018/12/12 Python
Python button选取本地图片并显示的实例
2019/06/13 Python
Python绘图Matplotlib之坐标轴及刻度总结
2019/06/28 Python
pygame实现俄罗斯方块游戏(基础篇3)
2019/10/29 Python
解决tensorboard多个events文件显示紊乱的问题
2020/02/15 Python
利用python中的matplotlib打印混淆矩阵实例
2020/06/16 Python
吉力贝官方网站:Jelly Belly
2019/03/11 全球购物
小学教师师德师风演讲稿
2014/08/22 职场文书
专题组织生活会思想汇报
2014/10/01 职场文书
傅雷家书读书笔记
2015/06/29 职场文书
个人售房合同协议书
2016/03/21 职场文书
MySQL时间盲注的五种延时方法实现
2021/05/18 MySQL