一款由網頁提供的php mysql 分頁顯示代碼,樣式比較多,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(!emptyempty($_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();
- }
- }
- ?>
PHP調用方法,代碼如下:
- <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(); //使用分頁樣式
- ?>
新聞熱點
疑難解答