php,ajax实现分页
作者:bea
自己总结了些屁经验 1.用ajaxpost数据到后台页面后,接着要重新连接数据库,别以为用之前的session连接过就可以了 2.为了处理返回乱码的问题,我添加了header("Content-Type:text/html;charset=GB2312");就可以正常显示了,后来在firefox下检验,却提示我下载这个网页,上网搜了不少资料,得到一个模糊的认识就是网页代码有语法错误,firefox为了安全起见不会直接显示而是提示下载,我重新检查了刚才那条语句,发现自己多写了个
自己总结了些屁经验
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>
";
echo "<TBODY>
";
echo "<TR>
";
echo "<TD style="PADDING-TOP: 5px" vAlign=top align=left width=80>
";
//rating_bar($title[$a],5);
echo "</TD>
";
echo "<TD style="PADDING-TOP: 5px" align=left width=100%><A title=$hotelname[$a] style="FONT-SIZE: 14px" href=#>$hotelname[$a]</A>
";
echo "</TD></TR>
";
echo " <TR>
";
echo "<TD></TD>
";
echo "<TD style="PADDING-LEFT: 0px">
";
echo "<IMG src="images/comment.gif" border=0> 推荐人数:($countpeople[$a]) |
";
echo "<SPAN>平均分:<STRONG></STRONG> (".$count."票) | 评论数:()</SPAN>
";
echo "</TD></TR></TBODY></TABLE>
";
}
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>";
有用 | 无用
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>
";
echo "<TBODY>
";
echo "<TR>
";
echo "<TD style="PADDING-TOP: 5px" vAlign=top align=left width=80>
";
//rating_bar($title[$a],5);
echo "</TD>
";
echo "<TD style="PADDING-TOP: 5px" align=left width=100%><A title=$hotelname[$a] style="FONT-SIZE: 14px" href=#>$hotelname[$a]</A>
";
echo "</TD></TR>
";
echo " <TR>
";
echo "<TD></TD>
";
echo "<TD style="PADDING-LEFT: 0px">
";
echo "<IMG src="images/comment.gif" border=0> 推荐人数:($countpeople[$a]) |
";
echo "<SPAN>平均分:<STRONG></STRONG> (".$count."票) | 评论数:()</SPAN>
";
echo "</TD></TR></TBODY></TABLE>
";
}
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之变量、常量学习笔记
- php日历[测试通过]
- PHP与MySQL开发中页面乱码的产生与解决
- php中cookie的作用域
- 简单的PHP图片上传程序
- php中变量及部分适用方法
- php Undefined index和Undefined variable的解决方法
- php.ini中的php-5.2.0配置指令详解
- 一家之言的经验之谈php+mysql扎实个人基本功
- php+mysql分页代码详解
- Mysql和网页显示乱码解决方法集锦
- require(),include(),require_once()和include_once()区别
- php图片验证码代码
- 几个php应用技巧
- PHP详细彻底学习Smarty
- php中用文本文件做数据库的实现方法
- Discuz! Passport 通行证整合
- FCKeditor添加自定义按钮