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 相关文章推荐
ip签名探针
Oct 09 PHP
wordpress之wp-settings.php
Aug 17 PHP
用PHP实现读取和编写XML DOM代码
Apr 07 PHP
使用PHP遍历文件目录与清除目录中文件的实现详解
Jun 24 PHP
PHP实现HTML生成PDF文件的方法
Nov 07 PHP
基于PHP+jQuery+MySql实现红蓝(顶踩)投票代码
Aug 25 PHP
PHP实现的回溯算法示例
Aug 15 PHP
PHP简单实现二维数组的矩阵转置操作示例
Nov 24 PHP
PHP实现负载均衡session共享redis缓存操作示例
Aug 22 PHP
PHP设计模式之适配器模式(Adapter)原理与用法详解
Dec 12 PHP
PHP防止sql注入小技巧之sql预处理原理与实现方法分析
Dec 13 PHP
PHP实现创建以太坊钱包转账等功能
Apr 21 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
php根据操作系统转换文件名大小写的方法
2014/02/24 PHP
ThinkPHP模板中数组循环实例
2014/10/30 PHP
PHP实现搜索地理位置及计算两点地理位置间距离的实例
2016/01/08 PHP
屏蔽Flash右键信息的js代码
2010/01/17 Javascript
在javascript中关于节点内容加强
2013/04/11 Javascript
JS getAttribute和setAttribute(取得和设置属性)的使用介绍
2013/07/10 Javascript
火狐textarea输入法的bug的触发及解决
2013/07/24 Javascript
javaScript函数中执行C#代码中的函数方法总结
2013/08/07 Javascript
javascript异步编程代码书写规范Promise学习笔记
2015/02/11 Javascript
JavaScript淡入淡出渐变简单实例
2015/08/06 Javascript
JavaScript中push(),join() 函数 实例详解
2016/09/06 Javascript
Jquery删除css属性的简单方法
2016/12/04 Javascript
AngularJS指令与指令之间的交互功能示例
2016/12/14 Javascript
如何提高Dom访问速度
2017/01/05 Javascript
React-router 4 按需加载的实现方式及原理详解
2017/05/25 Javascript
Vue.js对象转换实例
2017/06/07 Javascript
vue初尝试--项目结构(推荐)
2018/01/30 Javascript
详解vue表单——小白速看
2018/04/08 Javascript
vue使用Element组件时v-for循环里的表单项验证方法
2018/06/28 Javascript
JavaScript实现打砖块游戏
2020/02/25 Javascript
[01:29:46]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第二局
2016/02/27 DOTA
python的绘图工具matplotlib使用实例
2014/07/03 Python
python通过邮件服务器端口发送邮件的方法
2015/04/30 Python
Python设计模式之简单工厂模式实例详解
2019/01/22 Python
Python3.5装饰器典型案例分析
2019/04/30 Python
Python异常原理及异常捕捉实现过程解析
2020/03/25 Python
Python with语句用法原理详解
2020/07/03 Python
阿联酋最好的手机、电子产品和家用电器网上商店:Eros Digital Home
2020/08/09 全球购物
施工安全协议书
2013/12/11 职场文书
党务公开方案
2014/05/06 职场文书
2014年入党积极分子学习三中全会思想汇报
2014/09/13 职场文书
2015年教研工作总结
2015/05/23 职场文书
个人催款函范文
2015/06/24 职场文书
村主任当选感言
2015/08/01 职场文书
关于社会实践的心得体会(2016最新版)
2016/01/25 职场文书
劳动合同变更协议书范本
2019/04/18 职场文书