Heim  >  Artikel  >  Backend-Entwicklung  >  php分页代码实例(可自适应范围)

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

WBOY
WBOYOriginal
2016-07-25 08:52:121126Durchsuche
  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分页类


    Stellungnahme:
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn