Heim > Backend-Entwicklung > PHP-Tutorial > 你不可错过的一个php分页类(mysql)

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

WBOY
Freigeben: 2016-07-25 09:05:19
Original
726 Leute haben es durchsucht
  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();
  • */
  • ?>
  • 复制代码


    Quelle:php.cn
    Erklärung dieser Website
    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
    Beliebte Tutorials
    Mehr>
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage