[PHP] 医院网站 →→→→→进入此内容的聊天室

来自 , 2020-08-15, 写在 PHP, 查看 148 次.
URL http://www.code666.cn/view/828752f7
  1. <?php
  2. class page{
  3.         private $total;//总条数
  4.         private $num;//每页显示的总条数
  5.         private $pagetotal;//总页数
  6.         private $limit;//设置查询页数
  7.         private $page;//当前页数
  8.         private $both;//数字分页偏移量  
  9.        
  10.         public function __contruct($total="",$num=10,$need="",$both="6"){
  11.                 $this->total=$total;
  12.                 $this->num=$num;
  13.                 $this->pagetotal=ceil($total/$num);//总条数除以煤业显示的条数取整
  14.                 $this->geturl();
  15.                 $this->page=(!empty($_GET['page']))?$_GET['page']:1;
  16.                 $this->limit=$this->getlimit();
  17.                 $this->both=$both;
  18.         }
  19.         private function __get($name){
  20.                 if($name='limit'){
  21.                         return $this->$name;
  22.                 }else{
  23.                         return null;   
  24.                 }
  25.         }
  26.         private function geturl(){
  27.                 $url=parse_url($_SERVER['REQUEST_URI']);
  28.                 $query=$url['query'];
  29.                 if(empty($query)){
  30.                         $url=$url['path']."?".$need;
  31.                         return $url;
  32.                 }else{
  33.                         parse_url($url['query'],$qarr);
  34.                         if(isset($qarr['page'])){
  35.                                 unset($qarr['page']);
  36.                         }
  37.                         $url=$url['path']."?".http_build_query($qarr);
  38.                         return $url;
  39.                 }
  40.                
  41.         }
  42.         private function getlimit(){
  43.                 $offset=($this->page-1)*$this->num;
  44.                 return "Limit {$offset},{$this->num}"; 
  45.         }
  46.         private function index(){
  47.                 if($this->page>1){
  48.                         $html="<a href=".$this->geturl()."&page=1>首页</a>";
  49.                 }else{
  50.                         $html="首页 &nbsp";  
  51.                 }
  52.         }
  53.         private function prv(){
  54.                 if($this->page>1){
  55.                         $html="<a href='".$this->geturl()."&page=".($this-page-1)."'>上一页</a>";
  56.                 }else if($this->page==1){
  57.                         $html="上一页";     
  58.                 }else{
  59.                         return null;
  60.                 }
  61.                 return $html;
  62.         }
  63.         private function nxt(){
  64.                 if($this->page<$this->pagetotal){
  65.                         $html="<a href='".$this->geturl()."&page".($this->page+1)."'>下一页</a>";   
  66.                 }else if($this->page==$this->pagetotal){
  67.                         $html="下一页 &nbsp";
  68.                 }else{
  69.                         return null;   
  70.                 }
  71.         }
  72.         private function last(){
  73.                 if($this->page<$this->pagetotal){
  74.                         $html="<a href='".$this->geturl()."&page".($this->page+1)."'>尾页</a>>";
  75.                 }else{
  76.                         $html="尾页 &nbsp";
  77.                 }
  78.                 return $html;
  79.         }
  80.         private function rownum(){
  81.                 $start=(($this->page-1)*$this->num)+1;
  82.                 $end=($this->page==$this->pagetotal)?$this->total:$this->page*$this->num;
  83.                 $html="本页从{$start}开始,到第{$end}结束";
  84.                 return $html;
  85.         }
  86. private function pageinfo() {
  87.                  $start = floor($this->both/2);
  88.                  $html="";
  89.                  for($i=$both;$i>=1;$i--){
  90.                          $page = $this->page-$i;
  91.                          if($page>1) continue;
  92.                          $html.="<a href='".$this->geturl()."&page=".$this->page."'>{$page}</a>";
  93.                 }
  94.                 $html.="{$this->page}";
  95.                 for($i=1;$i<=$both;$i++){
  96.                         $page = $this->page+$i;
  97.                         if($page<=$this->pagetotal){
  98.                                 $html.="<a href='".$this->geturl()."&page=".$this->page."'>{$page}</a>";
  99.                         }
  100.                 }
  101.                         return $html;  
  102.    }
  103.         public function showpage($showarr=array(0,1,2,3,4,5,6,7)){
  104.                 /*
  105.                 总条数  总页数 上一页 下一页  数字分页  每页显示条数   每页开始和结束条数
  106.                 */
  107.                 $html[0]="总条数:{$this->total} &nbsp; 总页数:{$this->pagetotal}";
  108.                 $html[1]="本页显示:{$this->num}条&nbsp;";
  109.                 $html[2]=$this->rownum();
  110.                 $html[3]=$this->index();
  111.                 $html[4]=$this->prv();
  112.                 $html[5]=$this->nxt();
  113.                 $html[6]=$this->last();
  114.                 $html[7]=$this->pageinfo();
  115.                 $info="";
  116.                 foreach($showarr as $val){
  117.                         $info.=$html[$val];
  118.                 }
  119.                 return $info;
  120.         }
  121.        
  122. }
  123.  
  124. ?>
  125.  

回复 "医院网站"

这儿你可以回复上面这条便签

captcha