当前位置:首页 > 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. } 
  7. #page_num ul { 
  8.   position:absolute; 
  9.   right:30px; 
  10.   height:20px; 
  11. } 
  12. #page_num ul li { 
  13.   float:left; 
  14.   width:26px; 
  15.   height:20px; 
  16. } 
  17. #page_num ul li a { 
  18.   display:block; 
  19.   width:20px; 
  20.   height:20px; 
  21.   line-height:20px; 
  22.   border:1px solid #333; 
  23.   text-align:center; 
  24.   text-decoration:none; 
  25. } 
  26. #page_num ul li a:hover,#page_num ul li a.selected { 
  27.   background:#666; 
  28.   font-weight:bold; 
  29.   color:#fff; 
  30. } 

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

  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. } 
  14. $_pagesize = 10; 
  15. $_num = _num_rows( _query ( "SELECT tg_id FROM tg_user" ) ); 
  16. if ($_num==0) { 
  17.   $_pageabsolute=1; 
  18. }else{ 
  19.   $_pageabsolute=ceil($_num/$_pagesize); 
  20. } 
  21. //当页码大于总页码的时候,就会返回到总页码的最后一页 
  22. if ($_page>$_pageabsolute) { 
  23.   $_page=$_pageabsolute; 
  24. } 
  25. $_pagenum = ($_page - 1) * $_pagesize;

Tags: PHP数字分页

分享到:

相关文章