Maison  >  Article  >  développement back-end  >  php分页代码实例(可自适应范围)

php分页代码实例(可自适应范围)

WBOY
WBOYoriginal
2016-07-25 08:52:121126parcourir
  1. /*

  2. * mysql分页函数代码
  3. * edit:bbs.it-home.org
  4. *
  5. */
  6. function page($page,$total,$phpfile,$pagesize=10,$pagelen=7){
  7. $pagecode = '';//定义变量,存放分页生成的HTML
  8. $page = intval($page);//避免非数字页码
  9. $total = intval($total);//保证总记录数值类型正确
  10. if(!$total) return array();//总记录数为零返回空数组
  11. $pages = ceil($total/$pagesize);//计算总分页
  12. //处理页码合法性
  13. if($pageif($page>$pages) $page = $pages;
  14. //计算查询偏移量
  15. $offset = $pagesize*($page-1);
  16. //页码范围计算
  17. $init = 1;//起始页码数
  18. $max = $pages;//结束页码数
  19. $pagelen = ($pagelen%2)?$pagelen:$pagelen+1;//页码个数
  20. $pageoffset = ($pagelen-1)/2;//页码个数左右偏移量
  21. //生成html

  22. $pagecode='
    ';
  23. $pagecode.="$page/$pages";//第几页,共几页
  24. //如果是第一页,则不显示第一页和上一页的连接
  25. if($page!=1){
  26. $pagecode.="";//第一页
  27. $pagecode.="";//上一页
  28. }
  29. //分页数大于页码个数时可以偏移
  30. if($pages>$pagelen){
  31. //如果当前页小于等于左偏移
  32. if($page$init=1;
  33. $max = $pagelen;
  34. }else{//如果当前页大于左偏移
  35. //如果当前页码右偏移超出最大分页数
  36. if($page+$pageoffset>=$pages+1){
  37. $init = $pages-$pagelen+1;
  38. }else{
  39. //左右偏移都存在时的计算
  40. $init = $page-$pageoffset;
  41. $max = $page+$pageoffset;
  42. }
  43. }
  44. }
  45. //生成html
  46. for($i=$init;$iif($i==$page){
  47. $pagecode.=''.$i.'';
  48. } else {
  49. $pagecode.="$i";
  50. }
  51. }
  52. if($page!=$pages){
  53. $pagecode.=">";//下一页
  54. $pagecode.=">>";//最后一页
  55. }
  56. $pagecode.="
";
  • return array('pagecode'=>$pagecode,'sqllimit'=>' limit '.$offset.','.$pagesize);
  • }
  • ?>
  • 复制代码

    2,添加了页码跳转文本框

    1. $phpfile = 'index.php';//页面文件名
    2. $page= isset($_GET['page'])?$_GET['page']:1;//默认页码
    3. $db = mysql_connect('localhost','test','test');//链接数据库
    4. mysql_select_db('test',$db);//选择数据库
    5. $counts = mysql_num_rows(mysql_query('select `id` from `test`',$db));//获取需要的数据总条数
    6. $sql='select `id`,`title` from `test`';//定义查询语句SQL
    7. $getpageinfo = page($page,$counts,$phpfile);//调用函数,生成分页HTML 和 SQL LIMIT 子句
    8. $sql.=$getpageinfo['sqllimit'];//组合完整的SQL语句
    9. $data = $row = array();//初始化数组
    10. $result = mysql_query($sql,$db);//获取结果集
    11. //将数据装入$data数组
    12. while($row = mysql_fetch_array($result)){
    13. $data[]=$row;
    14. }
    15. ?>
    16. echo $getpageinfo['pagecode'];//显示分页的html代码
    17. ?>
    复制代码

    3,此分页查询代码中用到的css样式表文件。

    复制代码

    推荐阅读:

    • php与ajax无刷新分页代码
    • php 文章分页的实现代码
    • php limit 翻页(分页)代码
    • 带多种分页方式的php分页类
    • 上一页与下一页的php分页代码
    • 前十页、后十页方式的php分页代码
    • 简单的php分页代码的例子
    • 一个不错的php分页类的代码
    • 一个分页函数:上一页 下一页
    • 一个好用的php分页类
    • php长文章分页代码
    • 一个实用的php分页类
    • 快速php分页类


    Déclaration:
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn