php显示页码分页类的封装

2025-05-29 0 72

本文实例为大家分享了php封装显示页码分页类,供大家参考,具体内容如下

一、代码

conn.php

?

1

2

3

4

5

6

7

8

9

10

11

12
<?php

class Mysql{

public function __construct(){

$this->connect();

}

public function connect(){

$conn=mysql_pconnect('localhost','root','root') or die("Connect MySQL False");

mysql_select_db('db_database20',$conn) or die("Connect DB False");

mysql_query("SET NAMES utf8");

}

}

?>

index.php

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88
<link rel="stylesheet" type="text/css" href="css/style.css" rel="external nofollow" >

<?php

include_once("conn.php");//包含conn.php文件

class Page extends Mysql{//创建Page类并继承Mysql类

private $pagesize;//每页显示的记录数

private $page;//当前是第几页

private $pages;//总页数

private $total;//查询的总记录数

private $pagelen;//显示的页码数

private $pageoffset;//页码的偏移量

private $table;//欲查询的表名

function __construct($pagesize,$pagelen,$table){

if($_GET['page']=="" || $_GET['page']<0){//判断地址栏参数page是否有值

$this->page=1;//当前页定义为1

}else{

$this->page=$_GET['page'];//当前页为地址栏参数的值

}

$this->pagesize=$pagesize;

$this->pagelen=$pagelen;

$this->table=$table;

new Mysql();//实例化Mysql类

$sql=mysql_query("select * from $this->table");//查询表中的记录

$this->total=mysql_num_rows($sql);//获得查询的总记录数

$this->pages=ceil($this->total/$this->pagesize);//计算总页数

$this->pageoffset=($this->pagelen-1)/2;//计算页码偏移量

}

function sel(){

$sql=mysql_query("select * from $this->table limit ".($this->page-1)*$this->pagesize.",".$this->pagesize);//查询当前页显示的记录

return $sql;//返回查询结果

}

function myPage(){

$message="第".$this->page."页/共".$this->pages."页&nbsp;&nbsp;&nbsp;";//输出当前第几页,共几页

if($this->page==1){//如果当前页是1

$message.="首页&nbsp;上一页&nbsp;&nbsp;&nbsp;";//输出没有链接的文字

}else{

$message.="<a href='".$_SERVER['PHP_SELF']."?page=1'>首页</a>&nbsp;";//输出有链接的文字

$message.="<a href='".$_SERVER['PHP_SELF']."?page=".($this->page-1)."'>上一页</a>&nbsp;&nbsp;";//输出有链接的文字

}

if($this->page<=$this->pageoffset){//如果当前页小于页码的偏移量

$minpage=1;//显示的最小页数为1

$maxpage=$this->pagelen;//显示的最大页数为页码的值

}elseif($this->page>$this->pages-$this->pageoffset){//如果当前页大于总页数减去页码的偏移量

$minpage=$this->pages-$this->pagelen+1;//显示的最小页数为总页数减去页码数再加上1

$maxpage=$this->pages;//显示的最大页数为总页数

}else{

$minpage=$this->page-$this->pageoffset;//显示的最小页数为当前页数减去页码的偏移量

$maxpage=$this->page+$this->pageoffset;//显示的最大页数为当前页数加上页码的偏移量

}

for($i=$minpage;$i<=$maxpage;$i++){//循环输出数字页码数

if($i==$this->page){

$message.=$i."\\n";//输出没有链接的数字

}else{

$message.="<a id='num' href='".$_SERVER['PHP_SELF']."?page=".$i."'>".$i."</a>\\n";//输出有链接的数字

}

}

if($this->page==$this->pages){//如果当前页等于最大页数

$message.="&nbsp;&nbsp;下一页&nbsp;尾页";//显示没有链接的文字

}else{

$message.="&nbsp;&nbsp;<a href='".$_SERVER['PHP_SELF']."?page=".($this->page+1)."'>下一页</a>&nbsp;";//显示有链接的文字

$message.="<a href='".$_SERVER['PHP_SELF']."?page=".$this->pages."'>尾页</a>";//显示有链接的文字

}

return $message;//返回变量的值

}

}

?>

<table border="1" cellpadding="1" cellspacing="1" bordercolor="#FFFFFF" bgcolor="#FF0000">

<tr>

<td style="padding-left:3px; padding-right:3px; padding-top:3px; padding-bottom:3px;" bgcolor="#FFFFFF">ID:</td>

<td style="padding-left:3px; padding-right:3px; padding-top:3px; padding-bottom:3px;" bgcolor="#FFFFFF">标题</td>

<td style="padding-left:3px; padding-right:3px; padding-top:3px; padding-bottom:3px;" bgcolor="#FFFFFF">内容</td>

<td style="padding-left:3px; padding-right:3px; padding-top:3px; padding-bottom:3px;" bgcolor="#FFFFFF">时间</td>

</tr>

<?php

$p=new Page('3','3','tb_demo01');

$rs=$p->sel();

while($rst=mysql_fetch_row($rs)){

?>

<tr>

<td style="padding-left:3px; padding-right:3px; padding-top:3px; padding-bottom:3px;" bgcolor="#FFFFFF"><?php echo $rst[0] ?></td>

<td style="padding-left:3px; padding-right:3px; padding-top:3px; padding-bottom:3px;" bgcolor="#FFFFFF"><?php echo $rst[1] ?></td>

<td style="padding-left:3px; padding-right:3px; padding-top:3px; padding-bottom:3px;" bgcolor="#FFFFFF"><?php echo $rst[2] ?></td>

<td style="padding-left:3px; padding-right:3px; padding-top:3px; padding-bottom:3px;" bgcolor="#FFFFFF"><?php echo $rst[3] ?></td>

</tr>

<?php }?>

</table>

<?php

echo $p->myPage();

?>

二、运行结果

php显示页码分页类的封装

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持快网idc。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 php显示页码分页类的封装 https://www.kuaiidc.com/94856.html

相关文章

发表评论
暂无评论