php mysql 分页显示代码

一款由网页提供的php mysql 分页显示代码,样式比较多,php分页类的核心代码如下:

  1. <?php
  2. /*
  3. php 分页类
  4. 只要实现分页。不与数据库教程连接。
  5. 如果是伪静态 只需修改84行以下的A标签即可 如 "<a href='index_".$i.".html'>".$i."</a>" (index_表示你的伪静态地址) 其他的A标签页是一样
  6. */
  7. /*
  8. 鄙人工作时间写了个简单实用的 php 分页类 现和大家分享。。
  9. QQ:348145486
  10. email: tzk_php@163.com
  11. 欢迎大家一起学习交流
  12. */
  13. class Page{
  14. public $page_size="20"; //每页显示的数据数目
  15. public $page_num; //总的数据数目
  16. public $page_url=""; //分页的当前URL
  17. public $pageval; //分页的当前页
  18. public $page_ys; //总的页数
  19. public $page_tf=false; //判断能否执行分页的值
  20. public $page;
  21. /**********初始化分页类************/
  22. function __construct($page_num,$page_size=""){
  23. $this->page_num=$page_num; //获取所有需要显示的数据数目
  24. if($page_size!=""){
  25. $this->page_size=$page_size; //获取每页显示数据数据
  26. }
  27. $this->page_url=$_SERVER['SCRIPT_NAME']; //获取当前的URL地址
  28. if($this->page_num>$this->page_size){ //判断是否能执行分页
  29. $this->page_ys=ceil($this->page_num/$this->page_size); //获取总的分页数
  30. $this->page_tf=true; //将分页权限复制以便下面再次判断
  31. }
  32. if(!emptyempty($_GET['page'])){ //只允许页码在分页数范围内
  33. if($_GET['page']>="1"){
  34. if($_GET['page']<=$this->page_ys){
  35. $this->pageval=$_GET['page'];
  36. }else{
  37. $this->pageval=$this->page_ys;
  38. }
  39. }else{
  40. $this->pageval="1";
  41. }
  42. }else{
  43. $this->pageval="1";
  44. }
  45. $this->page=($this->pageval-1)*$this->page_size; //查询数据库数据时的第一条数据
  46. }
  47. /************执行分页 返回分页按钮**********/
  48. function page_fy($val=""){
  49. if($this->page_tf==true){
  50. if($val==""){
  51. return $this->page_style_one();
  52. }else if ($val=="1"){
  53. return $this->page_style_two();
  54. }elseif ($val=="2"){
  55. return $this->page_style_three();
  56. }
  57. }
  58. }
  59. /**********分页按钮 样式一*********/
  60. function page_style_one(){
  61. if($this->pageval=="1"){
  62. $up="1";
  63. }else{
  64. $up=$this->pageval-1;
  65. }
  66. if($this->pageval>=$this->page_ys){
  67. $down=$this->page_ys;
  68. }else{
  69. $down=$this->pageval+1;
  70. }
  71. $one="<a href='".$this->page_url."?page=1'>首页</a>";
  72. $two="<a href='".$this->page_url."?page=".$up."'>上一页</a>";
  73. $three="<a href='".$this->page_url."?page=".$down."'>下一页</a>";
  74. $four="<a href='".$this->page_url."?page=".$this->page_ys."'>末页</a>";
  75. return $page_echo = $one.$two.$three.$four;
  76. }
  77. /***********分页按钮 样式二*************/
  78. function page_style_two(){ //下面这个呢,逻辑很复杂,思维很林乱,
  79. $page_echo="";
  80. if($this->pageval=="1"){
  81. $up="1";
  82. }else{
  83. $up=$this->pageval-1;
  84. }
  85. if($this->pageval>=$this->page_ys){
  86. $down=$this->page_ys;
  87. }else{
  88. $down=$this->pageval+1;
  89. }
  90. $two="<a href='".$this->page_url."?page=".$up."'>上一页</a>";
  91. $three="<a href='".$this->page_url."?page=".$down."'>下一页</a>";
  92. if($this->page_ys>"6"){
  93. if($this->pageval<=3){
  94. $i=2;
  95. $i_to=5;
  96. }elseif ($this->pageval>=($this->page_ys-2)){
  97. $i=$this->page_ys-4;
  98. $i_to=$this->page_ys-1;
  99. }else{
  100. $i=$this->pageval-2;
  101. $i_to=$this->pageval+2;
  102. }
  103. if($this->pageval>4){
  104. $page_one="...";
  105. }else{
  106. $page_one="";
  107. }
  108. if($this->pageval<($this->page_ys-3)){
  109. $page_two="...";
  110. }else{
  111. $page_two="";
  112. }
  113. for ($i;$i<=$i_to;$i++){
  114. $page_echo.="<a href='".$this->page_url."?page=".$i."'>".$i."</a>"; //如果是伪静态 只需修改A标签即可 如 "<a href='index_".$i.".html'>".$i."</a>" 其他的A标签页是一样
  115. }
  116. }else{
  117. for ($i=2;$i<=($this->page_ys-1);$i++){
  118. $page_echo.="<a href='".$this->page_url."?page=".$i."'>".$i."</a>";
  119. }
  120. }
  121. return $two."<a href='".$this->page_url."?page=1'>1</a>".$page_one.$page_echo.$page_two."<a href='".$this->page_url."?page=".$this->page_ys."'>".$this->page_ys."</a>".$three;
  122. }
  123. /*****************分页按钮 样式三 样式3大家可以写了。 *******************/
  124. function page_style_three(){
  125. return $this->page_style_two();
  126. }
  127. }
  128. ?>

PHP调用方法,代码如下:

  1. <style type="text/css">
  2. a{ color:#fff; text-decoration:none; padding:2px 5px; background-color:#09C; border:#F63 double 1px; margin:0 2px; font-size:14px;}
  3. a:hover{color:#f00; background-color:#CCC;}
  4. body{color:#999;}
  5. </style>
  6. <?php
  7. include 'p.php'; //载入分页类库
  8. $page=new Page('12345',"10"); //实例化类库 312 为显示的总条数 10 为每页显示的条数
  9. echo "样式二<br/>";
  10. echo "<br/>";
  11. echo "<br/>";
  12. echo $page->page_fy('1'); //使用分页样式
  13. echo "<br/>";echo "<br/>";echo "<br/>";echo "<br/>";
  14. echo "样式一<br/>";
  15. echo "<br/>";
  16. echo "<br/>";
  17. echo $page->page_fy(); //使用分页样式
  18. ?>