Maison >développement back-end >tutoriel php >Explication détaillée des graphiques du package et du texte du numéro de page d'affichage PHP et de la classe de pagination
Cet article présente principalement en détail l'encapsulation PHP d'une classe de pagination qui affiche les numéros de page. Elle a une certaine valeur de référence. Les amis intéressés peuvent s'y référer
Le contenu spécifique est le suivant
1.Code
<?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
<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."页 ";//输出当前第几页,共几页 if($this->page==1){//如果当前页是1 $message.="首页 上一页 ";//输出没有链接的文字 }else{ $message.="<a href='".$_SERVER['PHP_SELF']."?page=1'>首页</a> ";//输出有链接的文字 $message.="<a href='".$_SERVER['PHP_SELF']."?page=".($this->page-1)."'>上一页</a> ";//输出有链接的文字 } 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.=" 下一页 尾页";//显示没有链接的文字 }else{ $message.=" <a href='".$_SERVER['PHP_SELF']."?page=".($this->page+1)."'>下一页</a> ";//显示有链接的文字 $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(); ?>
2.Résultats de l'opération
Recommandations associées :PHPClasse de pageDéfinition et utilisation détaillées
Exemple détaillé de phpClasse de page
TP5-Chaque fonction dans la classe de pagination
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!