首页 > 后端开发 > php教程 > 你不可错过的一个php分页类(mysql)

你不可错过的一个php分页类(mysql)

WBOY
发布: 2016-07-25 09:05:19
原创
725 人浏览过
  1. /*

  2. mysql_pager.class.php
  3. 三个参数:mysql_query()的结果, url变量page, 您要的每页记录数
  4. */
  5. class mysql_pager {

  6. // define properties
  7. var $page;
  8. var $result;
  9. var $results_per_page = 3;
  10. var $total_pages;
  11. /*

  12. Define the methods
  13. 下面是构造函数,和类同名(>php4),需要查询的结果句柄,当前页码,每页记录数

  14. like: $f->mysql_pager($result, 1, 15);
  15. */
  16. function mysql_pager( $result, $current_page, $results_per_page ) {
  17. if(!$result){
  18. echo "
    数据库未运行,结果集错误
    \n";
  19. return;
  20. }
  21. $this->result = $result;

  22. if(!$current_page || $current_page $this->page = 1;

  23. else $this->page = $current_page;
  24. if(!emptyempty($results_per_page))

  25. $this->results_per_page = $results_per_page;
  26. $numrows = @mysql_num_rows($this->result);

  27. if(!$numrows) {
  28. echo "
    查询结果为空.
    \n";
  29. return;
  30. }
  31. $this->total_pages = ceil($numrows / $this->results_per_page);

  32. }
  33. /*

  34. 下面是打印内容的函数,可以不用,也可以根据自己的需要扩展
  35. 这里只是打印出id
  36. */
  37. function print_paged_results() {
  38. echo "\n";
  39. $start = ($this->page - 1) * $this->results_per_page;
  40. mysql_data_seek($this->result, $start);
  41. $x = 0;
  42. for($i = 1; $i results_per_page && $row = @mysql_fetch_array($this->result); $i++) {
  43. if($x++ & 1) $bgcolor = "#F2F2FF";
  44. else $bgcolor = "#EEEEEE";
  45. echo "

  46. ";
  47. // 编辑这部分输出任何您想要的HTML
  48. }
  49. echo "
  50. ". $row["id"] . "
    \n";
  51. }
  52. /*

  53. 下面是打印页码和链接的函数,在需要显示页码的地方调用
  54. */
  55. function print_navigation() {
  56. global $PHP_SELF;
  57. echo "
    ";
  58. for($i = 1; $i total_pages; $i++) { #loop to print >
  59. if($i == 1 && $this->page > 1) #Prints the echo "page - 1)."\" onMouseOver=\"status="Previous Page";return true;\" onMouseOut=\"status=" ";return true;\">?";
  60. if($i == $this->page) #Doesn"t print a link itself, just prints page number

  61. echo " $i ";
  62. if($i != $this->page) #Other links that aren"t this page go here

  63. echo " $i ";
  64. if($i == $this->total_pages && $this->page != $this->total_pages) # Link for next page >> (not on last page)

  65. echo "page + 1)."\" onMouseOver=\"status="Go to the Next Page";return true;\" onMouseOut=\"status=" ";return true;\">?";
  66. }
  67. echo "

\n";
  • }
  • }
  • /* 例子 http://bbs.it-home.org

  • mysql_connect($server, $uname, $pass );
  • mysql_select_db("$db");
  • $result= @mysql_query("Select * FROM table");
  • $p = new mysql_pager( $result, $page=$_GET["page"], 10 );

  • $p->print_navigation();
  • $p->print_paged_results();
  • $p->print_navigation();
  • */
  • ?>
  • 复制代码


    来源:php.cn
    本站声明
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板