CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  PHP

php 中怎么分页?

楼主songbai(O'Sanile)2002-04-03 09:23:45 在 Web 开发 / PHP 提问

我的数据库中的记录的   id   号是递增的,但中间有可能不连续,要做一个分页,不知有什么好的方案没有。 问题点数:100、回复次数:15Top

1 楼nethermit(网络隐士)回复于 2002-04-03 09:25:54 得分 5

先count一下  
  计算相应的page  
  然后limit一下Top

2 楼songbai(O'Sanile)回复于 2002-04-03 09:46:26 得分 0

呵呵,不好意思,我的数据是   SQL   SERVER   的Top

3 楼52net(逍遥)回复于 2002-04-03 10:42:05 得分 0

其实原理是一样的。先要取出符合条件的记录。然后分别计算总的   的记录数,然后是总的也数,根据每页的记录数目。作了准备工作以后,就是设置各页,即页面。  
  以前用ASP+SQLSERVER的时候就是用此方法。当然还要用到其他的语句。循环肯定是有的。  
  Top

4 楼bombshell(水中鱼)回复于 2002-04-03 11:06:11 得分 0

我的论坛有个分页显示的类,参考一下吧。  
  http://chinesehis.com/starry/index.phpTop

5 楼netpirate(海盗)回复于 2002-04-03 11:22:18 得分 0

设置一下总条目数,每页的显示条数,总页面数,是否显示首页/尾页,sql的limit就ok了,以前版里有人写过一个分页的类,你搜一下吧!^_^Top

6 楼songbai(O'Sanile)回复于 2002-04-03 11:23:30 得分 0

52net(逍遥),我也知道原理,我不知道怎么做的是怎么取出符合条件的记录,就是当前页应该取出哪些记录。比如我一页要显示十条,第三页里,我要显示的可能是   ID   为   45,   47,   48,   49,   52,   53,   54,   55,   56,   58   这十条。怎么才能取出第一个   45   的   ID   和最后一个   58   的   ID,呢,取出来我就可以用   between   了。Top

7 楼qsnake(开工)回复于 2002-04-03 12:46:01 得分 0

如果是mysql  
   
  $offset   =   45;  
  $sql   =   "select   *   from   table   limit   $offset,10";Top

8 楼nethermit(网络隐士)回复于 2002-04-03 12:51:26 得分 0

用limit好Top

9 楼songbai(O'Sanile)回复于 2002-04-03 15:28:22 得分 0

我已经说了啊,我是的   SQL   SERVERTop

10 楼songbai(O'Sanile)回复于 2002-04-05 20:38:01 得分 0

能不能用存储结构?Top

11 楼hqywork(华奇英)回复于 2002-04-05 20:54:03 得分 0

如果你用的是MYSQL数据库可以用select   的limit来完成Top

12 楼songbai(O'Sanile)回复于 2002-04-05 21:06:37 得分 0

我知道   mysql   怎么搞,就是不知道用   SQL   Server   怎么办。我已经有一个分页的   sql   server   的存储过程了,我想在   PHP   里调用,不知道怎么做Top

13 楼anfield(liverpool)回复于 2002-04-06 03:39:36 得分 0

讲起来比较复杂,我用的是   ms   sql   server,所以要建立“游标”在进行分业,如果使用mysql,原理差不多,只不过更方便,直接用“limit”语句就行了。Top

14 楼loveun(皋皋)回复于 2002-04-06 12:31:50 得分 5

告诉你最关键的地方!其他地方你都知道了!  
   
   
  ".$page*$Maxperpage."    
   
  $Maxperpage=每页显示记录数  
  $page=当前的页  
   
   
  $sql="select   top   ".$page*$Maxperpage."   TrueName   from   table_name   order   by   uoaccount   desc";  
  $result=mssql_query($sql,$conn);  
   
  这个下面还要加个条件  
  if($page>1)   mssql_data_seek($result,($page-1)*$Maxperpage);  
   
  下面的简单了Top

15 楼aph(心往)回复于 2002-04-06 15:00:54 得分 90

$strSQL   =   "select   count(*)   from   guestbook";  
  $query   =   odbc_do($conn,   $strSQL);  
  $mess_count   =   odbc_result($query,   1);  
  $page_size   =   10;  
  $page_count   =   ceil($mess_count   /   $page_size);  
  echo   "第   ";  
  for   ($i=1;   $i<=$page_count;   $i++   )  
  {  
  echo   "   <a   href=\"?page=$i\">$i</a>   ";  
  }  
  echo   "   页";  
  if   ($page   ==   0)  
  {  
  $page   =   1;  
  }  
  $start_id   =   $page_size   *   ($page   -   1);  
  $end_id   =   $page_size   *   $page;  
  if   ($end_id   >   $mess_count)  
  {  
  $end_id   =   $mess_count;  
  }  
  $strSQL   =   "select   username,   email,   homepage,   message,   convert(nchar(19),   writetime,   120)   view_write_time   from   (select   top   "   .   ($end_id   -   $start_id)   .   "   *   from   (select   top   "   .   $end_id   .   "   *   from   guestbook   order   by   id   asc)   as   a   order   by   id   desc)   as   b   order   by   id   desc";  
  $query   =   odbc_do($conn,   $strSQL);  
  Top

相关问题

  • [PHP]中"分页"的问题.
  • 怎么用PHP在MySQL的表中分页?
  • 怎么分页?
  • JSP中怎么实现分页功能
  • 请问各位大侠,在php中如何实现分页?
  • 来帮我看下一个PHP中分页打印的问题
  • php+oracle分页问题
  • datagrid中的分页
  • xsl中怎么对xml中的内容分页显示
  • Delphi菜鸟求救,Internet分页中的NMHTTP和NMFTP怎么用?

关键词

  • 原理
  • php
  • mysql
  • top
  • sql
  • 分页
  • maxperpage
  • 取出
  • 每页
  • mess

得分解答快速导航

  • 帖主:songbai
  • nethermit
  • loveun
  • aph

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo