web开发是今后分布式程式开发的主流,通常的web开发都要涉及到与数据库打交道,客户端从服务器端读取通常都是以分页的形式来显示,一页一页的阅读起来既方便又美观。所以说写分页程序是web开发的一个重要组成部分,在这里,我们共同来研究分页程序的编写。
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;$an"; echo "<tbody>n"; echo "<tr>n"; echo "<td>n"; //rating_bar($title[$a],5); echo "</td>n"; echo "<td> <a>$hotelname[$a]</a>n"; echo "</td> </tr>n"; echo " <tr>n"; echo "<td></td>n"; echo "<td>n"; echo "@@##@@ 推荐人数:($countpeople[$a]) |n"; echo "<span>平均分:<strong></strong> (".$count."票) | 评论数:()</span>n"; echo "</td> </tr> </tbody>n"; } echo "
“; echo “
“; echo “ 第”.$page.”页/总”.$pages.”页 | 总”.$numrows.”条 | “; if ($page>1) echo “首页 | “; if ($page>1) echo “上页 | “; if ($page下页 | “; if ($page尾页”; echo “转到第 页 “; echo “ |
“;