国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

經典php分頁代碼,支持數字偏移

2024-05-04 23:06:51
字體:
來源:轉載
供稿:網友

這款php分頁代碼是一款完整的php mysql css的經典分頁功能,很適合于大分類有像phpwindow dz等論壇效果.

CSS樣式代碼如下:

  1. <style type="text/css"
  2. <!-- 
  3. body { 
  4.  width:800px
  5.  margin:0 auto
  6.  margin-top:50px
  7.  font-size:12px
  8. a { 
  9.  color:#014ccc
  10.  text-decoration:none
  11. .div { 
  12.  float:left
  13.  cursor:pointer
  14.  font-weight:bold
  15.  margin-right:5px
  16.  displayblock
  17.  padding:3px 7px
  18.  text-align:center
  19.  border:#bbdded solid 1px
  20. .divs { 
  21.  float:left
  22.  font-weight:bold
  23.  margin-right:5px
  24.  displayblock
  25.  padding:3px 7px
  26.  text-align:center
  27.  border:#cccccc solid 1px
  28. .divsi { 
  29.  float:left
  30.  font-weight:bold
  31.  margin-right:5px
  32.  displayblock
  33.  padding:3px 7px
  34.  text-align:center
  35.  background:#3399ff
  36.  color:#ffffff
  37.  border:#cccccc solid 1px
  38. .div:hover { 
  39.  background:#3399ff
  40.  color:#ffffff
  41. .divsi:hover { 
  42.  background:#3399ff
  43.  color:#ffffff
  44. --> 
  45. </style> 

PHP實例效果代碼如下:

  1. <?php 
  2. mysql_connect('localhost','root',''); 
  3. mysql_select_db('news'); 
  4. mysql_query('set names gbk'); 
  5.  
  6. $sql = mysql_query("select * from `v_char`"); 
  7. $num = mysql_num_rows($sql); 
  8. include 'page.class.php'
  9. /*參數說明: 
  10.  *getpages($pagesize,$pagenum,$page,$init,$page_len); 
  11.  *$pagesize 每頁記錄 
  12.  *$pagenum 總記錄數 
  13.  *$page $_get[page] 
  14.  *$init 數字分頁最小數,默認為1,一般不用更改。 
  15.  *$page_len 數字分頁的數量。 
  16. */ 
  17. $model = new getpages(10,$num,$_get['page']); 
  18.  
  19. $sql = "select * from `v_char` limit $model->offset,$model->pagesize"
  20. $res = mysql_query($sql); 
  21. while($row = mysql_fetch_assoc($res)) 
  22.  echo $row['id'] . " - " . $row['name'] .'<br>'
  23.  
  24. //輸出分頁信息 
  25. echo $model->getpage(); 
  26. ?> 
  27.  
  28. page.class.php 
  29.  
  30. <?php 
  31. /* 
  32.  * author:陳凱 
  33.  * data:2010-09-14 
  34.  */ 
  35. class getpages 
  36.  public $pagesize;  //每頁記錄 
  37.  public $offset;    //起始記錄數 
  38.  public $pagenum;   //總記錄 
  39.  public $page;      //當前頁碼 
  40.  public $init;      //數字分頁最左邊數字 
  41.  public $page_len;  //數字分頁最右邊數字 
  42.  public $pages;     //總頁數 
  43.   
  44.  //初始化賦值。 
  45.  function __construct($pagesize,$pagenum,$page,$init=1,$page_len=7) 
  46.  { 
  47.   $this->pagesize = $pagesize;//每頁記錄 
  48.   $this->pagenum  = $pagenum//總記錄 
  49.   $this->page     = $page
  50.   $this->pages    = ceil($this->pagenum/$this->pagesize); //總頁數 
  51.   if(emptyempty($this->page) || $this->page <1 || $this->page > $this->pages)$this->page=1; 
  52.   $this->init     = $init//數字分頁左 
  53.   $this->page_len = $page_len;//數字分頁右 
  54.   $this->offset   = ($this->page-1)*$this->pagesize; 
  55.  } 
  56.   
  57.  //輸出分頁 
  58.  function getpage() 
  59.  { 
  60.   $this->prepg = $this->page-1;  //上一頁 
  61.   $this->nextpg= ($this->page == $this->pages) ? 0 : $this->page+1;  //下一頁 
  62. //   if($this->pages == 1) return false;  //如果只有一頁跳出 
  63.   $pagenav = "<span class='divs'>共 ".$this->pages."頁".$this->pagenum."條</span>"
  64.    if($this->page == 1) 
  65.    { 
  66.     $pagenav .="<a href='#' class='div'>首頁</a> "
  67.     $pagenav .="<a href='#' class='div'>上一頁</a> "
  68.    } 
  69.    else 
  70.    { 
  71.      $pagenav .="<a href='".$this->get_url()."=1' class='div'>首頁</a> "
  72.     $pagenav .="<a href='".$this->get_url()."=".$this->prepg."' class='div'>上一頁</a> ";   
  73.    } 
  74.     
  75.    $pagenav .= $this->getvalpage(); //數字分頁 
  76.     
  77.    if($this->page == $this->pages) 
  78.    { 
  79.      $pagenav .="<a href='#' class='div'>下一頁</a> "
  80.     $pagenav .="<a href='#' class='div'>尾頁</a> ";  
  81.    } 
  82.    else 
  83.    { 
  84.       $pagenav .="<a href='".$this->get_url()."=".$this->nextpg."' class='div'>下一頁</a> "
  85.     $pagenav .="<a href='".$this->get_url()."=".$this->pages."' class='div'>尾頁</a> "
  86.    }//開源代碼Vevb.com 
  87.   //下拉菜單分頁列表 
  88.   
  89.  
  90.   
  91.  
  92.  代碼如下 復制代碼  
  93.  $pagenav .= "<select name='page' class='select' onchange='window.location.href="".$this->get_url()."="+this.value'> "
  94.     
  95.    for($i=1;$i<=$this->pages;$i++) 
  96.    { 
  97.     if($i == $this->page){ 
  98.      $pagenav .= "<option value='".$i."' selected>".$i."</option> "
  99.     } 
  100.     else 
  101.     { 
  102.      $pagenav .= "<option value='".$i."'>".$i."</option> "
  103.     } 
  104.    } 
  105.    $pagenav.="</select> "
  106.     
  107.    return $pagenav
  108.  } 
  109.   
  110.  //數字分頁 
  111.  function getvalpage() 
  112.  { 
  113.   $max_p = $this->pages; 
  114.   $this->page_len  = ($this->page_len%2) ? $this->page_len : $this->page_len+1; //如果為偶數便+1 
  115.   $pageoffset = ($this->page_len-1)/2; //數字分頁左右數量 
  116.    
  117.   //總頁數和數字分頁顯示數 
  118.   if($this->pages > $this->page_len) 
  119.   { 
  120.    //數字分頁左右數量大于等于當前頁面,不進行偏移 
  121.    if($pageoffset>=$this->page) 
  122.    { 
  123.     $this->init = 1; 
  124.     $max_p$this->page_len; 
  125.    } 
  126.    else 
  127.    { 
  128.     //當前頁碼+左右數量 大于總數量,不進行偏移 
  129.     if($this->page+$pageoffset > $this->pages) 
  130.     { 
  131.      $this->init  = $this->pages-$this->page_len+1; 
  132.     } 
  133.     else 
  134.     { 
  135.      //進行偏移,最左邊 當前頁碼 - 左右數量 
  136.      $this->init   = $this->page-$pageoffset
  137.      $max_p = $this->page+$pageoffset
  138.     } 
  139.    } 
  140.   } 
  141.    
  142.   //循環數字分頁 
  143.   for($i=$this->init ;$i<=$max_p;$i++) 
  144.   { 
  145.    //$i 等于 當前頁碼 
  146.    if($i == $this->page) 
  147.    { 
  148.     $pagenav .= "<a href='#' class='divsi'>".$i."</a>"
  149.    } 
  150.    else 
  151.    { 
  152.     $pagenav .= "<a href='".$this->get_url()."=".$i."' class='div'>".$i."</a>"
  153.    } 
  154.   } 
  155.   return $pagenav
  156.  } 
  157.   
  158.  //獲取url地址 
  159.  function get_url() 
  160.  { 
  161.   $url = $_server['request_uri']; 
  162.   $parse_url = parse_url($url); 
  163.   $query_url = $parse_url['query']; //取出url上的參數 
  164.  
  165.   if($query_url
  166.   { 
  167.    //將&page 替換為空 
  168.    $query_url = ereg_replace("(^|&)page=$this->page","",$query_url); 
  169.    $url = str_replace($parse_url['query'],$query_url,$url); 
  170.    if($query_url)$url .= '&page'
  171.    else $url .= 'page'
  172.   } 
  173.   else 
  174.   { 
  175.    $url .= '?page'
  176.   } 
  177.   return $url
  178.  } 
  179.  
  180. ?> 

數據庫代碼如下:

  1. /* 
  2. navicat mysql data transfer 
  3.  
  4. source server         : localhost_3306 
  5. source server version : 50051 
  6. source host           : localhost:3306 
  7. source database       : news 
  8.  
  9. target server type    : mysql 
  10. target server version : 50051 
  11. file encoding         : 65001 
  12.  
  13. date: 2010-03-30 00:17:08 
  14. */ 
  15.  
  16. set foreign_key_checks=0; 
  17. -- ---------------------------- 
  18. -- table structure for `v_char` 
  19. -- ---------------------------- 
  20. drop table if exists `v_char`; 
  21. create table `v_char` ( 
  22.   `id` int(10) not null auto_increment, 
  23.   `namechar(10) default null
  24.   primary key  (`id`) 
  25. ) engine=innodb auto_increment=401 default charset=gbk; 
  26.  
  27. -- ---------------------------- 
  28. -- records of v_char 
  29. -- ---------------------------- 
  30. insert into `v_char` values ('1''test1'); 
  31. insert into `v_char` values ('2''test2'); 
  32. insert into `v_char` values ('3''test3'); 
  33. insert into `v_char` values ('4''test4'); 
  34. insert into `v_char` values ('5''test5'); 
  35. insert into `v_char` values ('6''test6'); 
  36. insert into `v_char` values ('7''test7'); 
  37. insert into `v_char` values ('8''test8'); 
  38. insert into `v_char` values ('9''test9'); 
  39. insert into `v_char` values ('10''test10'); 
  40. insert into `v_char` values ('11''test11'); 
  41. insert into `v_char` values ('12''test12'); 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安西县| 如东县| 盘锦市| 彭泽县| 巴南区| 新巴尔虎左旗| 绿春县| 余干县| 新邵县| 金沙县| 宁陕县| 靖江市| 连平县| 洪江市| 沁阳市| 茌平县| 曲沃县| 安新县| 万源市| 象州县| 佛冈县| 平度市| 图们市| 北辰区| 微山县| 襄城县| 通山县| 利津县| 唐河县| 阳东县| 安吉县| 嘉兴市| 泾阳县| 南京市| 三门县| 麦盖提县| 竹溪县| 辽宁省| 沙田区| 仁怀市| 宜都市|