帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > PHP编程
PHP+MySQL下分页显示的实现
作者:匿名 发布时间:2002-12-21 来源:www.phpx.com
最近,论坛里有很我人都在问如何实现查询结果的分页显示。我希望下面的这段代码对你改进自己的程序能有所帮助。这些代码是用于MYSQL的,但很容易移植到其它SQL上。



由于每个程序的特殊性,所以我在MYSQL的查询里使用了一些很通用的语句。用你的表名替换TABLE;用你的条件语句代替YOUR_CONDITION_HERE;用你希望按其排序的字段名代替WHATEVER(当然如果要排倒序,别忘了加上DESC子句)。



<?php



$qh=mysql_query("SELECT COUNT(*) AS rcnt FROM TABLE WHERE YOUR_CONDITION_HERE ORDER BY WHATEVER");



$data=mysql_fetch_array($qh);



$nr=$data["rcnt"];



//判断偏移量参数是否传递给了脚本,如果没有就使用默认值0



if (empty($offset))



{



$offset=0;



}



//查询结果(这里是每页20条,但你自己完全可以改变它)



$result=mysql_query("SELECT id,name,phone FROM TABLE WHERE YOUR_CONDITION_HERE ORDER BY WHATEVER LIMIT $offset, 20");







//显示返回的20条记录



while ($data=mysql_fetch_array($result))



{



//换成你用于显示返回记录的代码



}



//下一步,要写出到其它页面的链接



if(!$offset) //如果偏移量是0,不显示前一页的链接



{



$preoffset=$offset-20;



print "<a href="$PHP_SELF?offset=$preoffset">前一页</a>&nbsp;n";



}



//计算总共需要的页数



$pages=ceil($nr/20); //$pages变量现在包含所需的页数



for ($i=1; $i <= $pages; $i++)



{



$newoffset=20*$i;



print "<a href="$PHP_SELF?offset=$newoffset">$i</a>&nbsp;n";



}



//检查是否是最后一页



if ($pages!=0 && ($newoffset/20)!=$pages)



{



print "<a href="$PHP_SELF?offset=$newoffset">下一页</a>&nbsp;n";



}



?>



这只是向你大概地介绍了实现将查询结果分页显示的方法,其他的功能你自己完成。



注意两点:$PHP_SELF只有偏移量一个参数,你可以根据需要加入自己的东西;这种办法对包含百万条记录以上的表的查询效率不高。

  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·购建ASP、CGI、PHP+MySQL运行环境  (2005-03-12)
 ·购建ASP、CGI、PHP+MySQL运行环境  (2005-03-12)
 ·在Linux下装PHP+JSP  (2005-03-12)
 ·超级服务器apache+mysql+php+ssl  (2005-03-11)
 ·超级服务器apache+mysql+php+ssl  (2005-03-11)
 ·PHP+Apache在Win9x下的安装和配置  (2005-03-11)
 ·Winodws下IIS/Apache+PHP+MySQL的  (2005-03-11)
 ·PHP+Oracle(OCI)初步  (2005-03-11)
 ·浅谈PHP+MYSQL身份验证的方法  (2005-03-11)
 ·查询数据生成XML并显示的例子(基  (2002-12-21)

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·DiscuzX2.5会员整合通行证发布
·帝国CMS 7.0版本功能建议收集
·帝国网站管理系统2012年授权购买说
·PHPWind8.7会员整合通行证发布
·[官方插件]帝国CMS-访问统计插件
·[官方插件]帝国CMS-sitemap插件
·[官方插件]帝国CMS内容页评论AJAX分
   类别最新
·Windows下集成安装Apache,PHP,MYSQ
·Mysql注入:SQL Injection with MyS
·PHP 的来龙去脉
·PHP 的功能概述
·PHP与其它CGI的比较
·PHP 的编译配置详细选项
·php.ini 配置详细选项
·如何写作PHP程序
·Hello,World
·嵌入方法
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统