当前位置:首页 > PHP教程 > php分页 > 列表

PHP实现简单数字分页效果

发布:smiling 来源: PHP粉丝网  添加日期:2021-06-13 22:53:28 浏览: 评论:0 

我们平时在开发中,经常需要用到分页,在项目中要用到分页。分页功能是经常使用的一个功能,下面我们就来简单分享个数字的分页效果

学习要点:

1.LIMIT 用法

2.各种参数

3.超链接调用

第一:先在文件中设置数字分页模块;我的文件是(blog.php)代码如下:

  1. //分页模块 
  2. $_page = $_GET['page']; 
  3. $_pagesize = 10; 
  4. $_pagenum = ($_page - 1) * $_pagesize
  5. //首页要得到所有的数据总和 
  6. $_num=mysql_num_rows(_query("SELECT tg_id FROM tg_user")); 
  7. $_pageabsolute=$_num / $_pagesize

要注意的是在数据库中取集的时候,我们必须每次重新读取结果集,而不是从新去执行SQL语句。

$_result = _query("SELECT tg_username,tg_sex,tg_face FROM tg_user ORDER BY tg_reg_time DESC LIMIT $_pagenum,$_pagesize");

设置分页循环的效果

  1. <div id="page_num"
  2.   <ul> 
  3.   <?php for($i=0;$i<$_pageabsolute;$i++){ 
  4.     if ($_page == ($i+1)) { 
  5.       echo '<li><a href="blog.php?page='.($i+1).'" class="selected">'.($i+1).'</a></li>'
  6.     }else
  7.       echo '<li><a href="blog.php?page='.($i+1).'">'.($i+1).'</li>'
  8.     } 
  9.   } ?> 
  10.   </ul> 
  11.   </div> 

相对应的CSS

  1. #page_num { 
  2.   height:20px
  3.   clear:both
  4.   padding:10px 0
  5.   position:relative
  6. #page_num ul { 
  7.   position:absolute
  8.   right:30px
  9.   height:20px
  10. #page_num ul li { 
  11.   float:left
  12.   width:26px
  13.   height:20px
  14. #page_num ul li a { 
  15.   display:block
  16.   width:20px
  17.   height:20px
  18.   line-height:20px
  19.   border:1px solid #333
  20.   text-align:center
  21.   text-decoration:none
  22. #page_num ul li a:hover,#page_num ul li a.selected { 
  23.   background:#666
  24.   font-weight:bold
  25.   color:#fff

在其中可能会由于编码出现容错误,解决的方法是

  1. // 分页模块 
  2. if (isset ( $_GET ['page'] )) { 
  3.   // 在数据不再数据范围内出错的解决方法 
  4.   $_page = $_GET['page']; 
  5.   // 是否为空,是否小于0,是否不是数字。//如果其中有一个是,那么就=1 
  6.   if (emptyempty ( $_page )||$_page < 0 || !is_numeric$_page )) { 
  7.     $_page = 1; 
  8.   } else { 
  9.     $_page = intval ( $_page ); // 如果是数字,但是小数,那么就$_page = intval($_page);转换成整数 
  10.   } 
  11. else { 
  12.   $_page = 1; 
  13. $_pagesize = 10; 
  14. $_num = _num_rows( _query ( "SELECT tg_id FROM tg_user" ) ); 
  15. if ($_num==0) { 
  16.   $_pageabsolute=1; 
  17. }else
  18.   $_pageabsolute=ceil($_num/$_pagesize); 
  19. //当页码大于总页码的时候,就会返回到总页码的最后一页 
  20. if ($_page>$_pageabsolute) { 
  21.   $_page=$_pageabsolute
  22. $_pagenum = ($_page - 1) * $_pagesize;

Tags: PHP数字分页

分享到:

相关文章