php mysql 分頁顯示代碼

來源:互聯網
上載者:User

先我們來看看分頁的效果,如果是你想要的就可以下載了。

p.php教程分頁類的核心代碼

 代碼如下 複製代碼

<?php
/*

php 分頁類
只要實現分頁。不與資料庫教程串連。

如果是偽靜態 只需修改84行以下的A標籤即可 如   "<a href='index_".$i.".html'>".$i."</a>"  (index_表示你的偽靜態地址) 其他的A標籤頁是一樣

*/

/*

          鄙人工作時間寫了個簡單實用的  php 分頁類   現和大家分享。。
   
    QQ:348145486
   
    email:  tzk_php@163.com 
   
    歡迎大家一起學習交流

*/


class Page{

 public $page_size="20";                     //每頁顯示的資料數目
 public $page_num;                           //總的資料數目
 public $page_url="";                        //分頁的當前URL
 public $pageval;                            //分頁的當前頁
 public $page_ys;                            //總的頁數
 public $page_tf=false;                      //判斷能否執行分頁的值
 public $page;

 /**********初始化分頁類************/
   
 function __construct($page_num,$page_size=""){
  $this->page_num=$page_num;                                                            //擷取所有需要顯示的資料數目

  if($page_size!=""){
   $this->page_size=$page_size;                                                      //擷取每頁顯示資料資料
  }

  $this->page_url=$_SERVER['SCRIPT_NAME'];                                              //擷取當前的URL地址

  if($this->page_num>$this->page_size){                                                 //判斷是否能執行分頁
   $this->page_ys=ceil($this->page_num/$this->page_size);                            //擷取總的分頁數
   $this->page_tf=true;                                                              //將分頁許可權複製以便下面再次判斷
  }

  if(!empty($_GET['page'])){                                                            //只允許頁碼在分頁數範圍內
   if($_GET['page']>="1"){
    if($_GET['page']<=$this->page_ys){
     $this->pageval=$_GET['page'];
    }else{
     $this->pageval=$this->page_ys;
    }
   }else{
    $this->pageval="1";
   }
  }else{
   $this->pageval="1";
  }

  $this->page=($this->pageval-1)*$this->page_size;                                       //查詢資料庫資料時的第一條資料

 }

 /************執行分頁 返回分頁按鈕**********/


 function page_fy($val=""){
  if($this->page_tf==true){
   if($val==""){
    return $this->page_style_one();
   }else if ($val=="1"){
     return $this->page_style_two();
   }elseif ($val=="2"){
    return $this->page_style_three();
   }
  }
 }

 /**********分頁按鈕 樣式一*********/

 function page_style_one(){
  if($this->pageval=="1"){
   $up="1";
  }else{
   $up=$this->pageval-1;
  }

  if($this->pageval>=$this->page_ys){
   $down=$this->page_ys;
  }else{
   $down=$this->pageval+1;
  }
  $one="<a href='".$this->page_url."?page=1'>首頁</a>";
  $two="<a href='".$this->page_url."?page=".$up."'>上一頁</a>";
  $three="<a href='".$this->page_url."?page=".$down."'>下一頁</a>";
  $four="<a href='".$this->page_url."?page=".$this->page_ys."'>末頁</a>";
  return $page_echo = $one.$two.$three.$four;
 }

 /***********分頁按鈕 樣式二*************/

 function page_style_two(){                                                 //下面這個呢,邏輯很複雜,思維很林亂,
  $page_echo="";
  if($this->pageval=="1"){
   $up="1";
  }else{
   $up=$this->pageval-1;
  }

  if($this->pageval>=$this->page_ys){
   $down=$this->page_ys;
  }else{
   $down=$this->pageval+1;
  }
  $two="<a href='".$this->page_url."?page=".$up."'>上一頁</a>";
  $three="<a href='".$this->page_url."?page=".$down."'>下一頁</a>";
  
  if($this->page_ys>"6"){

      if($this->pageval<=3){
       $i=2;
       $i_to=5;       
      }elseif ($this->pageval>=($this->page_ys-2)){
       $i=$this->page_ys-4;
       $i_to=$this->page_ys-1;
      }else{
       $i=$this->pageval-2;
       $i_to=$this->pageval+2;
      }
     
  if($this->pageval>4){
   $page_one="...";
  }else{
   $page_one="";
   }

  if($this->pageval<($this->page_ys-3)){
   $page_two="...";
  }else{
   $page_two="";
   }
 
  for ($i;$i<=$i_to;$i++){
   $page_echo.="<a href='".$this->page_url."?page=".$i."'>".$i."</a>";                //如果是偽靜態 只需修改A標籤即可 如   "<a href='index_".$i.".html'>".$i."</a>"   其他的A標籤頁是一樣
  }   
 
  }else{
   for ($i=2;$i<=($this->page_ys-1);$i++){
       $page_echo.="<a href='".$this->page_url."?page=".$i."'>".$i."</a>";
      }
     
  }
  
  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;

 }
 
 /*****************分頁按鈕 樣式三  樣式3大家可以寫了。 *******************/
 
 function page_style_three(){
  return $this->page_style_two();
 }

 

}
?>

調用方法

 代碼如下 複製代碼

<style type="text/css教程">

a{ color:#fff; text-decoration:none; padding:2px 5px; background-color:#09C; border:#F63 double 1px; margin:0 2px; font-size:14px;}
a:hover{color:#f00; background-color:#CCC;}
body{color:#999;}
</style>
<?php

include 'p.php';                    //載入分頁類庫
         
$page=new Page('12345',"10");               //執行個體化類庫     312  為顯示的總條數     10   為每頁顯示的條數  


echo "樣式二<br/>";
echo "<br/>";
echo "<br/>";
echo $page->page_fy('1');                //使用分頁樣式

echo "<br/>";echo "<br/>";echo "<br/>";echo "<br/>";


echo "樣式一<br/>";
echo "<br/>";
echo "<br/>";
echo $page->page_fy();                    //使用分頁樣式


?>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.