免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1997 | 回复: 4
打印 上一主题 下一主题

php+mysql分页的困惑!每个分页都运行2次检索数据库的脚本? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-05-08 17:43 |只看该作者 |倒序浏览
<?php
……
#***************************第一次***********************
$query = "SELECT count(*) FROM $table";
$rs= mysql_query($query);
$myrow = mysql_fetch_array($rs);
$numrows=$myrow[0];//总记录数

$pages=intval($numrows/$pagesize);//总页数
$page=$HTTP_GET_VARS['page'];
if (empty($page)){
$page=1;
}
$offset=$pagesize*($page - 1); //计算记录偏移量
?>
<html>
   <head>
   <title>php分页 </title>
   <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
   </head>
   <body>
<?
#***************************第二次***********************
$query2="select * from $table order by id desc limit $offset,$pagesize";

$rs2=mysql_query($query2);
if ($myrow2 = mysql_fetch_array($rs2)){
$i=0;
?>
<table border="0" width="80%">
<?php
do {
$i++;
?>
<tr>
<td> <?=$myrow2["title"]?> </td>
</tr>
<?php
}
while ($myrow2 = mysql_fetch_array($rs2));
echo " </table>";
}
echo " <div align='center'>共有".$pages."页(".$page."/".$pages.")";
for ($i=1;$i < $page;$i++)
echo " <a href='?page=".$i."'>[".$i ."] </a>";
echo "[".$page."]";
for ($i=$page+1;$i <=$pages;$i++)
echo " <a href='?page=".$i."'>[".$i ."] </a>";
echo " </div>";
?>

</body>
</html>
这样每个分页不都是运行2次检索数据库的脚本么?
#***************************第一次***********************
#***************************第二次***********************
的位置那。

论坛徽章:
0
2 [报告]
发表于 2008-05-08 18:03 |只看该作者
你能有办法一次获取整个数据大小和一段数据吗?

论坛徽章:
0
3 [报告]
发表于 2008-05-08 18:25 |只看该作者
我觉得第一处的sql运行一次就够了啊,其他分页只用第2处sql就行了

论坛徽章:
0
4 [报告]
发表于 2008-05-09 10:37 |只看该作者
运行一次查询总数据后.后面又有大量数据插入.分页岂不是不准确了

论坛徽章:
0
5 [报告]
发表于 2008-05-09 10:56 |只看该作者
就看对适时性要求是否高了,如果不高写成静态文件不是什么都不用查?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP