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支持页面回退的两种方法
Jan 10 PHP
在PHP中操作Excel实例代码
Apr 29 PHP
PHP中将字符串转化为整数(int) intval() printf() 性能测试
Mar 20 PHP
php递归函数中使用return的注意事项
Jan 17 PHP
PHP中多维数组的foreach遍历示例
Jun 13 PHP
php采用curl实现伪造IP来源的方法
Nov 21 PHP
php实现四舍五入的方法小结
Mar 03 PHP
浅谈PHP中output_buffering
Jul 13 PHP
PHP 前加at符合@的作用解析
Jul 31 PHP
PHP Imagick完美实现图片裁切、生成缩略图、添加水印
Feb 22 PHP
Yii+upload实现AJAX上传图片的方法
Jul 13 PHP
php实现的AES加密类定义与用法示例
Jan 29 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中ini_set和ini_get函数的用法小结
2014/02/18 PHP
Yii调试SQL的常用方法
2014/07/09 PHP
php数组函数array_key_exists()小结
2015/12/10 PHP
extjs grid取到数据而不显示的解决
2008/12/29 Javascript
详谈 Jquery Ajax异步处理Json数据.
2011/09/09 Javascript
推荐17个优美新鲜的jQuery的工具提示插件
2012/09/14 Javascript
js模拟点击以提交表单为例兼容主流浏览器
2013/11/29 Javascript
JavaScript+html5 canvas制作色彩斑斓的正方形效果
2016/01/27 Javascript
灵活的理解JavaScript中的this指向
2016/02/25 Javascript
jQuery中事件与动画的总结分享
2016/05/24 Javascript
AngularJS中的作用域实例分析
2018/05/16 Javascript
详解Vue3.0 前的 TypeScript 最佳入门实践
2019/06/18 Javascript
微信小程序 SOTER 生物认证DEMO 指纹识别功能
2019/12/13 Javascript
微信小程序实现时间戳格式转换
2020/07/20 Javascript
微信小程序:报错(in promise) MiniProgramError
2020/10/30 Javascript
小程序实现点击tab切换左右滑动
2020/11/16 Javascript
Python的包管理器pip更换软件源的方法详解
2016/06/20 Python
Python列出一个文件夹及其子目录的所有文件
2016/06/30 Python
Python模块结构与布局操作方法实例分析
2017/07/24 Python
Python数据分析之双色球基于线性回归算法预测下期中奖结果示例
2018/02/08 Python
python实现的生成word文档功能示例
2019/08/23 Python
python Jupyter运行时间实例过程解析
2019/12/13 Python
Pytorch 实现计算分类器准确率(总分类及子分类)
2020/01/18 Python
python json load json 数据后出现乱序的解决方案
2020/02/27 Python
Python3 操作 MySQL 插入一条数据并返回主键 id的实例
2020/03/02 Python
在PyTorch中使用标签平滑正则化的问题
2020/04/03 Python
Python实现常见的几种加密算法(MD5,SHA-1,HMAC,DES/AES,RSA和ECC)
2020/05/09 Python
美国顶级品牌男士大码服装店:DXL
2017/08/30 全球购物
俄罗斯苹果优质经销商商店:iPort
2020/05/27 全球购物
军训自我鉴定范文
2014/02/13 职场文书
小学语文国培感言
2014/03/04 职场文书
《生命 生命》教学反思
2014/04/19 职场文书
债务追讨授权委托书范本
2014/10/16 职场文书
2014年生活老师工作总结
2014/12/23 职场文书
感恩节寄语2015
2015/03/24 职场文书
Nginx缓存设置案例详解
2021/09/15 Servers