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 02 PHP
PHP 长文章分页函数 带使用方法,不会分割段落,翻页在底部
Oct 22 PHP
PHP MVC模式在网站架构中的实现分析
Mar 04 PHP
PHP版 汉字转码的实现详解
Jun 09 PHP
简单的php文件上传(实例)
Oct 27 PHP
php找出指定范围内回文数且平方根也是回文数的方法
Mar 23 PHP
简单解析PHP程序的运行流程
Jun 23 PHP
PHP实现QQ快速登录的方法
Sep 28 PHP
PHP实现基于PDO扩展连接PostgreSQL对象关系数据库示例
Mar 31 PHP
PHP获取HTTP body内容的方法
Dec 31 PHP
ThinkPHP框架结合Ajax实现用户名校验功能示例
Jul 03 PHP
PHP 实现重载
Mar 09 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编写PDF文档生成器
2006/10/09 PHP
php读取msn上的用户信息类
2008/12/05 PHP
PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
2011/12/28 PHP
php简单判断两个字符串是否相等的方法
2015/07/13 PHP
PHP生成随机字符串(3种方法)
2015/09/25 PHP
PHP数组去重比较快的实现方式
2016/01/19 PHP
利用js跨页面保存变量做菜单的方法
2008/01/17 Javascript
JS判断浏览器是否支持某一个CSS3属性的方法
2014/10/17 Javascript
JavaScript使用FileSystemObject对象写入文本文件内容的方法
2015/08/05 Javascript
JavaScript为事件句柄绑定监听函数实例详解
2015/12/15 Javascript
JavaScript时间日期操作实例小结【5个示例】
2018/12/22 Javascript
Vue自定义全局Toast和Loading的实例详解
2019/04/18 Javascript
微信小程序用户授权、位置授权及获取微信绑定手机号
2019/07/18 Javascript
微信小程序 云开发模糊查询实现解析
2019/09/02 Javascript
基于jQuery拖拽事件的封装
2020/11/29 jQuery
Python写的Tkinter程序屏幕居中方法
2015/03/10 Python
python使用mysql数据库示例代码
2017/05/21 Python
python实现堆和索引堆的代码示例
2018/03/19 Python
Python装饰器的执行过程实例分析
2018/06/04 Python
python函数与方法的区别总结
2019/06/23 Python
Python爬虫动态ip代理防止被封的方法
2019/07/07 Python
Python多线程及其基本使用方法实例分析
2019/10/29 Python
TensorFlow tensor的拼接实例
2020/01/19 Python
tensorflow-gpu安装的常见问题及解决方案
2020/01/20 Python
Python类和实例的属性机制原理详解
2020/03/21 Python
编译 pycaffe时报错:fatal error: numpy/arrayobject.h没有那个文件或目录
2020/11/29 Python
Python中pass语句的作用是什么
2016/06/01 面试题
医药营销专业个人自荐信
2013/09/29 职场文书
总裁办公室主任职责
2014/01/02 职场文书
2014信息技术专业毕业生自我评价
2014/01/17 职场文书
个人查摆问题自查报告
2014/10/16 职场文书
党支部培养考察意见
2015/06/02 职场文书
回复函范文
2015/07/14 职场文书
导游词之云南-元阳梯田
2019/10/08 职场文书
Python selenium的这三种等待方式一定要会!
2021/06/10 Python
Python 的演示平台支持 WSGI 接口的应用
2022/04/20 Python