php,ajax实现分页

 更新时间:2008年03月27日 22:43:55   作者:  
之前用php写好了个分页程序,今天试着结合ajax实现这个功能,成功了。哈哈,代码不难写,但写好之后测试发现出了,然后又调试了好段时间才正确。深感开发人员的时间大部分都是花在调试代码上的。
自己总结了些屁经验
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多例模式介绍

    学习java就知道设计模式中有多例模式
    2013-06-06
  • 实例说明js脚本语言和php脚本语言的区别

    实例说明js脚本语言和php脚本语言的区别

    今天小编就为大家分享一篇关于实例说明js脚本语言和php脚本语言的区别,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • PHP模型Model类封装数据库操作示例

    PHP模型Model类封装数据库操作示例

    这篇文章主要介绍了PHP模型Model类封装数据库操作,结合实例形式分析了php使用mysqli封装的针对数据库操作相关实现与使用技巧,需要的朋友可以参考下
    2019-03-03
  • PHP实现猜数游戏

    PHP实现猜数游戏

    这篇文章主要为大家详细介绍了PHP实现猜数游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12
  • 学习php设计模式 php实现模板方法模式

    学习php设计模式 php实现模板方法模式

    这篇文章主要介绍了php设计模式中的模板方法模式,使用php实现模板方法模式,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • php flv视频时间获取函数

    php flv视频时间获取函数

    php获取flv时间!有源码!拿来就可以使用!超级简单。可以方便的得到flv视频需要播放的时间。
    2010-06-06
  • PHP代码重构方法漫谈

    PHP代码重构方法漫谈

    这篇文章主要介绍了PHP代码重构方法,结合实例形式较为详细的分析了php代码重构的概念、原理、相关实现技巧与注意事项,需要的朋友可以参考下
    2018-04-04
  • Json_encode防止汉字转义成unicode的方法

    Json_encode防止汉字转义成unicode的方法

    json_encode通常会把json中的汉字转义成unicode,但是有些时候不是我们想要的,下面小编给大家介绍json_encode防止汉字转义成unicode的方法,需要的朋友参考下吧
    2016-02-02
  • 浅谈ThinkPHP5.0版本和ThinkPHP3.2版本的区别

    浅谈ThinkPHP5.0版本和ThinkPHP3.2版本的区别

    小编小编就为大家带来一篇浅谈ThinkPHP5.0版本和ThinkPHP3.2版本的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • 定义php常量的详解

    定义php常量的详解

    本篇文章是对定义php常量进行了详细的分析介绍,需要的朋友参考下
    2013-06-06

最新评论