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 相关文章推荐
php设计模式 Interpreter(解释器模式)
Jun 26 PHP
php长字符串定义方法
Jul 12 PHP
解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)
Jun 18 PHP
linux系统下php安装mbstring扩展的二种方法
Jan 20 PHP
PHP封装的一个支持HTML、JS、PHP重定向的多功能跳转函数
Jun 19 PHP
destoon二次开发模板及调用语法汇总
Jun 21 PHP
值得分享的php+ajax实时聊天室
Jul 20 PHP
php中array_slice和array_splice函数解析
Oct 18 PHP
PHP实现的登录,注册及密码修改功能分析
Nov 25 PHP
php安装扩展mysqli的实现步骤及报错解决办法
Sep 23 PHP
php操作redis命令及代码实例大全
Nov 19 PHP
PHP中国际化的字符串排序和比较对象详解
Aug 23 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
JavaScript While 循环基础教程
2007/04/05 Javascript
jquery 关键字“拖曳搜索”之“拖曳”以及 图片“提示自适应放大”效果 的实现
2010/04/18 Javascript
JS维吉尼亚密码算法实现代码
2010/11/09 Javascript
JS实现静止元素自动移动示例
2014/04/14 Javascript
jQuery使用hide方法隐藏页面上指定元素的方法
2015/03/30 Javascript
解决js页面滚动效果scrollTop在FireFox与Chrome浏览器间的兼容问题的方法
2015/12/03 Javascript
Hallo.js基于jQuery UI所见即所得的Web编辑器
2016/01/26 Javascript
详细解读Jquery各Ajax函数($.get(),$.post(),$.ajax(),$.getJSON())
2016/08/15 Javascript
手机端 HTML5使用photoswipe.js仿微信朋友圈图片放大效果
2016/08/25 Javascript
JavaScript基于自定义函数判断变量类型的实现方法
2016/11/23 Javascript
jq给页面添加覆盖层遮罩的实例
2017/02/16 Javascript
JavaScript中offsetWidth的bug及解决方法
2017/05/17 Javascript
js动态引入的四种方法
2018/05/05 Javascript
JavaScript 中 JSON.parse 函数 和 JSON.stringify 函数
2018/12/05 Javascript
用webAPI实现图片放大镜效果
2020/11/23 Javascript
Python通过websocket与js客户端通信示例分析
2014/06/25 Python
低版本中Python除法运算小技巧
2015/04/05 Python
仅用50行Python代码实现一个简单的代理服务器
2015/04/08 Python
Python使用PIL库实现验证码图片的方法
2016/03/11 Python
Python中shutil模块的常用文件操作函数用法示例
2016/07/05 Python
Python实现获取nginx服务器ip及流量统计信息功能示例
2018/05/18 Python
python使用turtle绘制分形树
2018/06/22 Python
Python列表(List)知识点总结
2019/02/18 Python
Python 列表去重去除空字符的例子
2019/07/20 Python
使用OpenCV实现仿射变换—旋转功能
2019/08/29 Python
分享8点超级有用的Python编程建议(推荐)
2019/10/13 Python
python数据处理——对pandas进行数据变频或插值实例
2020/04/22 Python
理肤泉加拿大官网:La Roche-Posay加拿大
2018/07/06 全球购物
街头时尚在线:JESSICABUURMAN
2019/06/16 全球购物
ASOS西班牙官网:英国在线时尚和美容零售商
2020/01/10 全球购物
JRE、JDK、JVM之间的关系怎样
2012/05/16 面试题
新大陆软件面试题
2016/11/24 面试题
如何唤起类中的一个方法
2013/11/29 面试题
艺术应用与设计个人的自我评价
2013/11/23 职场文书
大学新闻系求职信
2014/06/03 职场文书
2015年英语教学工作总结
2015/05/25 职场文书