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

首頁 > 開發(fā) > ThinkPHP > 正文

thinkPHP框架可添加js事件的分頁類customPage.class.php完整實例

2024-09-09 15:20:24
字體:
供稿:網(wǎng)友

用于ajax動態(tài)加載數(shù)據(jù)的分頁類,分頁事件可以動態(tài)添加,去除了a鏈接中的href地址。

  1. <?php 
  2. // +---------------------------------------------------------------------- 
  3. // | ThinkPHP [ WE CAN DO IT JUST THINK IT ] 
  4. // +---------------------------------------------------------------------- 
  5. // | Copyright (c) 2006-2014 http://thinkphp.cn All rights reserved. 
  6. // +---------------------------------------------------------------------- 
  7. // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) 
  8. // +---------------------------------------------------------------------- 
  9. // | Author: 麥當(dāng)苗兒<zuojiazi@vip.qq.com><http: www.zjzit.cn=""></http:></zuojiazi@vip.qq.com> 
  10. // +---------------------------------------------------------------------- 
  11. namespaceThink; 
  12. classcustomPage{ 
  13.   public$firstRow;// 起始行數(shù) 
  14.   public$listRows;// 列表每頁顯示行數(shù) 
  15.   public$parameter;//<a href="/tags.php/+%B7%D6%D2%B3/" target="_blank"> 分頁</a>跳轉(zhuǎn)時要帶的參數(shù) 
  16.   public$totalRows;// 總行數(shù) 
  17.   public$totalPages;// 分頁總頁面數(shù) 
  18.   public$rollPage = 6;// 分頁欄每頁顯示的頁數(shù) 
  19.   public$lastSuffix= true;// 最后一頁是否顯示總頁數(shù) 
  20.   private$p   ='p'//分頁參數(shù)名 
  21.   private$url  =''//當(dāng)前鏈接URL 
  22.   private$nowPage= 1; 
  23.   // 分頁顯示定制 
  24.   private$config=array
  25.     'header'=>'<span class="rows">共 %TOTAL_ROW% 條記錄</span>'
  26.     'prev' =>'上一頁'
  27.     'next' =>'下一頁'
  28.     'first'=>?...', 
  29.     'last' =>'...%TOTAL_PAGE%'
  30.     'theme'=>'%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END%'
  31.   ); 
  32.   /** 
  33.    * 架構(gòu)函數(shù) 
  34.    * @param array $totalRows 總的記錄數(shù) 
  35.    * @param array $listRows 每頁顯示記錄數(shù) 
  36.    * @param array $parameter 分頁跳轉(zhuǎn)的參數(shù) 
  37.    */ 
  38.   publicfunction__construct($totalRows,$listRows=20,$parameter=array()) { 
  39.     C('VAR_PAGE') &&$this->p = C('VAR_PAGE');//設(shè)置分頁參數(shù)名稱 
  40.     /* 基礎(chǔ)設(shè)置 */ 
  41.     $this->totalRows =$totalRows;//設(shè)置總記錄數(shù) 
  42.     $this->listRows  =$listRows;//設(shè)置每頁顯示行數(shù) 
  43.     $this->parameter =emptyempty($parameter) ?$_GET:$parameter
  44.     $this->nowPage  =emptyempty($_GET[$this->p]) ? 1 :intval($_GET[$this->p]); 
  45.     $this->totalPages =ceil($this->totalRows /$this->listRows);//總頁數(shù) 
  46.     if($this->nowPage>$this->totalPages) { 
  47.       $this->nowPage =$this->totalPages ; 
  48.     } 
  49.     $this->nowPage  =$this->nowPage>0 ?$this->nowPage : 1; 
  50.     $this->firstRow  =$this->listRows * ($this->nowPage - 1); 
  51.   } 
  52.   /** 
  53.    * 定制分頁鏈接設(shè)置 
  54.    * @param string $name 設(shè)置名稱 
  55.    * @param string $value 設(shè)置值 
  56.    */ 
  57.   publicfunctionsetConfig($name,$value) { 
  58.     if(isset($this->config[$name])) { 
  59.       $this->config[$name] =$value
  60.     } 
  61.   } 
  62.   /** 
  63.    * 生成鏈接URL 
  64.    * @param integer $page 頁碼 
  65.    * @return string 
  66.    */ 
  67.   privatefunctionurl($page){ 
  68.     returnstr_replace(urlencode('[PAGE]'),$page,$this->url); 
  69.   } 
  70.   /** 
  71.    * 組裝分頁鏈接 
  72.    * @return string 
  73.    */ 
  74.   publicfunctionshow() { 
  75.     if(0 ==$this->totalRows)return'' 
  76.     /* 生成URL */ 
  77.     $this->parameter[$this->p] ='[PAGE]' 
  78.     $this->url = U(ACTION_NAME,$this->parameter); 
  79.     /* 計算分頁信息 */ 
  80.     if(!emptyempty($this->totalPages) &&$this->nowPage >$this->totalPages) { 
  81.       $this->nowPage =$this->totalPages; 
  82.     } 
  83.     /* 計算分頁臨時變量 */ 
  84.     $now_cool_page  =$this->rollPage/2; 
  85.     $now_cool_page_ceil=ceil($now_cool_page); 
  86.     $this->lastSuffix &&$this->config['last'] =$this->totalPages; 
  87.     //上一頁 
  88.     $up_row=$this->nowPage - 1; 
  89.     $up_page=$up_row>  0 ?'<a class="shang" id="'.$up_row.'" href="<a href=" target="_blank" rel="external nofollow">上一頁</a>':'' 
  90.     //下一頁 
  91.     $down_row=$this->nowPage + 1; 
  92.     $down_page=  ($down_row<=$this->totalPages) ?'<a class="xia" id="'.$down_row.'" href="javascript:;" rel="external nofollow">下一頁</a>':''<!--=$this---> 
  93.     //第一頁 
  94.     $the_first='' 
  95.     if($this->totalPages >$this->rollPage && ($this->nowPage -$now_cool_page) >= 1){ 
  96.       $the_first='<a class="first" id="1" href="javascript:;" rel="external nofollow">第一頁</a>' 
  97.     } 
  98.     //最后一頁 
  99.     $the_end='' 
  100.     //if($this->totalPages  > $this->rollPage && ($this->nowPage + $now_cool_page)  < $this->totalPages){ 
  101.     if($this->totalPages >$this->rollPage && ($this->nowPage +$now_cool_page) <$this->totalPages){<!--$this---> 
  102.       $the_end='<a class="end" id="'.$this->totalRows.'" href="javascript:;" rel="external nofollow">最后一頁</a>' 
  103.     } 
  104.     for($i= 1;$i<=$this->rollPage;$i++){<!--=$this---> 
  105.         if(($this->nowPage -$now_cool_page) <= 0 ){ 
  106.           $page=$i
  107.         }elseif(($this->nowPage +$now_cool_page- 1) >=$this->totalPages){ 
  108.           $page=$this->totalPages -$this->rollPage +$i
  109.         }else
  110.           $page=$this->nowPage -$now_cool_page_ceil+$i
  111.         } 
  112.         if($page> 0 &&$page!=$this->nowPage){ 
  113.           if($page<=$this->totalPages){<!--=$this---> 
  114.             $link_page.= (' 
  115. '.$page.' 
  116. '); 
  117.           }else
  118.             break
  119.           } 
  120.         }else
  121.           if($page> 0 &&$this->totalPages != 1){ 
  122.             $link_page.= (' 
  123. '.$page.' 
  124. '); 
  125.           } 
  126.         } 
  127.     } 
  128.     if(!emptyempty($link_page))$link_page=' 
  129. '.$link_page.' 
  130.     //替換分頁內(nèi)容 
  131.     $page_str=str_replace
  132.       array('%HEADER%','%NOW_PAGE%','%UP_PAGE%','%DOWN_PAGE%','%FIRST%','%LINK_PAGE%','%END%','%TOTAL_ROW%','%TOTAL_PAGE%'), 
  133.       array($this->config['header'],$this->nowPage,$up_page,$down_page,$the_first,$link_page,$the_end,$this->totalRows,$this->totalPages), 
  134.       $this->config['theme']); 
  135.     $page_str= trim($page_str); 
  136.     if(!emptyempty($page_str))$page_str.=' 
  137. <br> //Vevb.com 
  138. <input value="" type="text"><a href="javascript:;" rel="external nofollow" id="go" class="go">跳轉(zhuǎn)</a>' 
  139.     return$page_str
  140.   } 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 晋中市| 克拉玛依市| 罗城| 北安市| 泸水县| 龙陵县| 化德县| 田林县| 兴海县| 澜沧| 壶关县| 清河县| 抚远县| 绵阳市| 灵武市| 孟连| 同心县| 石渠县| 巴青县| 铁力市| 宁陕县| 沙湾县| 乌兰县| 胶州市| 武乡县| 定安县| 昭平县| 抚宁县| 黎城县| 西吉县| 哈巴河县| 孟津县| 庆城县| 瓦房店市| 盐源县| 泰州市| 林芝县| 渑池县| 新河县| 肃北| 长春市|