特黄特色三级在线观看免费,看黄色片子免费,色综合久,欧美在线视频看看,高潮胡言乱语对白刺激国产,伊人网成人,中文字幕亚洲一碰就硬老熟妇

學習啦>知識大全>方法百科>產品使用方法>

php分頁類的使用方法

時間: 陳哲凡673 分享

  PHP分頁類是一個比較有用的類,如何靈活的運用這個類來幫助我們完成功能的實現是一個程序員必備的知識。下面由學習啦小編整理了幾種php分頁類的使用方法,希望對大家有所幫助。

  php分頁類的使用方法(一)

  <?php

  /*

  分頁類 用于實現對多條數據分頁顯示

  version:1.0

  Date:2013-10-20

  */

  /*

  調用非常方便,先連接好數據庫,直接傳人查詢的sql字符串即可,也可以指定每頁顯示的數據條數

  例如$pages = new Page('SELECT * FROM `zy_common_member`');

  或 $pages = new Page('SELECT * FROM `zy_common_member`', 10);

  */

  class Page{

  private $curPage;

  private $totalPages;//數據總共分多少頁顯示

  private $dispNum;//每頁顯示的數據條數

  private $queryStr;//查詢的SQL語句

  private $limitStr;//查詢語句后面的limit控制語句

  /*

  構造函數

  $queryStr 查詢數據的SQL語句

  $dispNum 每頁顯示的數據條數

  */

  public function __construct($queryStr='',$dispNum=10){

  $result = mysql_query($queryStr);

  $totalNum = mysql_num_rows($result);

  $this->dispNum = $dispNum;

  $this->totalPages = ceil($totalNum / $dispNum);

  $this->queryStr = $queryStr;

  $temp = (isset($_GET["curPage"]) ? $_GET["curPage"] : 1);

  $this->setCurPage($temp);

  $this->showCurPage();

  $this->showFoot();

  }

  /*顯示當前頁的數據內容*/

  private function showCurPage(){

  $this->limitStr = ' LIMIT '.(($this->curPage - 1)* $this->dispNum).','.$this->dispNum;

  //echo $this->queryStr.$this->limitStr;

  $result = mysql_query($this->queryStr.$this->limitStr);

  if (!$result)

  {

  if ($this->totalPages > 0)

  {

  echo '查詢出錯'.'<br>';

  }

  else

  {

  echo '無數據'.'<br>';

  }

  return;

  }

  $cols = mysql_num_fields($result);

  echo '<table border="1">';

  echo '<tr>';

  for($i=0; $i<$cols; $i++)

  {

  echo '<th>';

  echo mysql_field_name($result, $i);

  echo '</th>';

  }

  echo '</tr>';

  while($row = mysql_fetch_assoc($result))

  {

  echo '<tr>';

  foreach($row as $key=>$value)

  {

  echo '<td>';

  echo $value;

  echo '</td>';

  }

  echo '</tr>';

  }

  echo '</table>';

  }

  private function setCurPage($curPage){

  if($curPage < 1)

  {

  $curPage = 1;

  }

  else if($curPage > $this->totalPages)

  {

  $curPage = $this->totalPages;

  }

  $this->curPage = $curPage;

  }

  /*

  顯示分頁頁腳的信息

  如首頁,上一頁,下一頁,尾頁等信息

  */

  private function showFoot(){

  echo '<a href="?curPage=1">首頁</a>';

  echo '<a href="?curPage='.($this->curPage - 1).'">上一頁</a>';

  echo '<a href="?curPage='.($this->curPage + 1).'">下一頁</a>';

  echo '<a href="?curPage='.$this->totalPages.'">尾頁</a>';

  }

  }

  ?>

  php分頁類的使用方法(二)

  < ?php

  //為了避免重復包含文件而造成錯誤,

  加了判斷函數是否存在的條件:

  if(!function_exists(pageft)){

  //定義函數pageft(),三個參數的含義為:

  //$totle:信息總數;

  //$displaypg:每頁顯示信息數,這里設置為默認是20;

  //$url:分頁導航中的鏈接,除了加入不同的

  查詢信息“page”外的部分都與這個URL相同。

  //默認值本該設為本頁URL(即$_SERVER

  ["REQUEST_URI"]),但設置默認值的右邊

  只能為常量,所以該默認值設為空字符串,在函數內部再設置為本頁URL。

  function pageft($totle,$displaypg=20,$url=''){

  //定義幾個全局變量:

  //$page:當前頁碼;

  //$firstcount:(數據庫)查詢的起始項;

  //$pagenav:頁面導航條代碼,函數內部并沒有將它輸出;

  //$_SERVER:讀取本頁URL“$_SERVER["REQUEST_URI"]”所必須。

  global $page,$firstcount,$pagenav,$_SERVER;

  //為使函數外部可以訪問這里的“$displaypg”,將它也設為全局變量。注意一個變量重新定義,為全局變量后,原值被覆蓋,所以這里給它重新賦值。

  $GLOBALS["displaypg"]=$displaypg;

  if(!$page) $page=1;

  //如果$url使用默認,即空值,則賦值為本頁URL:

  if(!$url){ $url=$_SERVER["REQUEST_URI"];}

  //URL分析:

  $parse_urlparse_url=parse_url($url);

  $url_query=$parse_url["query"]; //單獨取出URL的查詢字串

  if($url_query){

  //因為URL中可能包含了頁碼信息,

  我們要把它去掉,以便加入新的頁碼信息。

  //這里用到了正則表達式

  $url_query=ereg_replace("(^|&)page=$page","",$url_query);

  //將處理后的URL的查詢字串替換原來的URL的查詢字串:

  $url=str_replace($parse_url["query"],$url_query,$url);

  //在URL后加page查詢信息,但待賦值:

  if($url_query) $url.="&page"; else $url.="page";

  }else {

  $url.="?page";

  }

  //頁碼計算:

  $lastpg=ceil($totle/$displaypg); //最后頁,也是總頁數

  $page=min($lastpg,$page);

  $prepg=$page-1; //上一頁

  $nextpg=($page==$lastpg ? 0 : $page+1); //下一頁

  $firstcount=($page-1)*$displaypg;

  //開始分頁導航條代碼:

  $pagenav="顯示第 <B>".($totle?($firstcount+1):0)."

  </B>-<B>".min($firstcount+$displaypg,$totle)."

  </B> 條記錄,共 $totle 條記錄<BR>";

  //如果只有一頁則跳出函數:

  if($lastpg<=1) return false;

  $pagenav.=" < a href='$url=1'>首頁< /a> ";

  if($prepg) $pagenav.=" < a href='

  $url=$prepg'>前頁< /a> "; else $pagenav.=" 前頁 ";

  if($nextpg) $pagenav.="

  < a href='$url=$nextpg'>后頁< /a> "; else $pagenav.=" 后頁 ";

  $pagenav.=" < a href='$url=$lastpg'>尾頁< /a> ";

  //下拉跳轉列表,循環(huán)列出所有頁碼:

  $pagenav.=" 到第 < select name='topage'

  size='1' onchange='window.location="$url="+this.value'>n";

  for($i=1;$i<=$lastpg;$i++){

  if($i==$page) $pagenav.="<

  option value='$i' selected>$i< /option>n";

  else $pagenav.="<option value='$i'>

  $i< /option>n";

  }

  $pagenav.="< /select> 頁,共 $lastpg 頁";

  }

  }

  ?>

  php分頁類的使用方法(三)

  <?php

  // 方法調用:

  $pages = new Pages($perpage, $count, $page, 'showpage.php?page'); 創(chuàng)建對象

  $pages->setShowPageNum($num); 設置顯示的頁數

  $pages->setCurrentIndexPage($num); 設置當前頁在分頁欄中的位置

  $pages->setFirstPageText($text); 設置鏈接第一頁顯示的文字

  $pages->setLastPageText($text); 設置鏈接最后一頁顯示的文字

  $pages->setPrePageText($text); 設置鏈接上一頁顯示的文字

  $pages->setNextPageText($text); 設置鏈接下一頁顯示的文字

  $pages->setPageCss($css); 設置各分頁碼css樣式的class名稱

  $pages->setCurrentPageCss($css); 設置當前頁碼css樣式的class名稱

  $pages->setPageStyle($style); 設置各分頁碼的樣式,即style屬性

  $pages->setCurrentPageStyle($style); 設置當前頁碼的樣式,即style屬性

  $pages->setLinkSymbol('='); 設置地址鏈接中頁碼與變量的連接符,如page=2中的“=”

  $pages->isShowFirstAndLast(true); 設置是否顯示第一頁與最后一頁的鏈接

  $pages->isShowForSimplePage(true); 設置當只有一頁時是否顯示分頁

  $pageCount = $pages->getTotalPageNum(); 獲取總頁數

  ?>

  <?php

  //分頁類

  class Pages{

  private $eachDisNums; //每頁顯示的條目數

  private $nums; //總條目數

  private $currentPage; //當前被選中的頁

  private $showPageNum = 5; //每次顯示的頁數

  private $curIndexPage = 3; //當前頁在分頁中的位置

  private $totalPageNum; //總頁數

  private $arrPage = array(); //用來構造分頁的數組

  private $subPageLink; //每個分頁的鏈接

  private $firstPageText = '1..'; //第一頁顯示的文字

  private $lastPageText; //最后一頁顯示的文字

  private $prePageText = '<'; //上一頁顯示的文字

  private $nextPageText = '>'; //下一頁顯示的文字

  private $pageCss = ''; //一般頁的樣式名稱

  private $curPageCss = ''; //當前頁的樣式名稱

  private $pageStyle = ''; //一般頁的樣式

  private $curPageStyle = ''; //當前頁的樣式

  private $linkSymbol = '='; //url鏈接地址中page與頁數之間的符號

  private $isShowFirstLast = true; //是否顯示第一頁和最后一頁

  private $isShowForSimplePage = false; //當沒有分頁時(即總條目數不大于每頁顯示的條目數)是否顯示分頁欄

  /**

  * 設置顯示的頁數

  *

  * @param integer $num 顯示的頁數

  * @return void

  */

  public function setShowPageNum($num){

  $this->showPageNum = $num;

  }

  /**

  * 設置當前頁在分頁欄中的位置

  *

  * @param integer $num 當前頁在分頁欄中的位置

  * @return void

  */

  public function setCurrentIndexPage($num){

  $this->curIndexPage = $num;

  }

  /**

  * 設置鏈接第一頁顯示的文字

  *

  * @param string $text 要顯示的文字

  * @return void

  */

  public function setFirstPageText($text){

  $this->firstPageText = $text;

  }

  /**

  * 設置鏈接最后一頁顯示的文字

  *

  * @param string $text 要顯示的文字

  * @return void

  */

  public function setLastPageText($text){

  $this->lastPageText = $text;

  }

  /**

  * 設置鏈接上一頁顯示的文字

  *

  * @param string $text 要顯示的文字

  * @return void

  */

  public function setPrePageText($text){

  $this->prePageText = $text;

  }

  /**

  * 設置鏈接下一頁顯示的文字

  *

  * @param string $text 要顯示的文字

  * @return void

  */

  public function setNextPageText($text){

  $this->nextPageText = $text;

  }

  /**

  * 設置各分頁碼css樣式的class名稱

  *

  * @param string $css css樣式名稱

  * @return void

  */

  public function setPageCss($css){

  $this->pageCss = $css;

  }

  /**

  * 設置當前頁碼css樣式的class名稱

  *

  * @param string $css css樣式名稱

  * @return void

  */

  public function setCurrentPageCss($css){

  $this->curPageCss = $css;

  }

  /**

  * 設置各分頁碼的樣式,即style屬性

  *

  * @param string $style style樣式

  * @return void

  */

  public function setPageStyle($style){

  $this->pageStyle = $style;

  }

  /**

  * 設置當前頁碼的樣式,即style屬性

  *

  * @param string $style style樣式

  * @return void

  */

  public function setCurrentPageStyle($style){

  $this->curPageStyle = $style;

  }

  /**

  * 設置地址鏈接中頁碼與變量的連接符,如page=2中的“=”

  *

  * @param string $symbol 連接符號

  * @return void

  */

  public function setLinkSymbol($symbol){

  $this->linkSymbol = $symbol;

  }

  /**

  * 獲取總頁數

  *

  * @access private

  * @return integer

  */

  public function getTotalPageNum(){

  return $this->totalPageNum;

  }

  /**

  * 設置是否顯示第一頁與最后一頁的鏈接

  *

  * @param boolean $is true:顯示,false:不顯示

  * @return void

  */

  public function isShowFirstAndLast($is){

  $this->isShowFirstLast = $is;

  }

  /**

  * 設置當只有一頁時是否顯示分頁

  *

  * @param boolean $is true:顯示,false:不顯示

  * @return void

  */

  public function isShowForSimplePage($is){

  $this->isShowForSimplePage = $is;

  }

  /**

  * 構造方法

  *

  * @param integer $eachDisNums 每頁顯示的條目數

  * @param integer $nums 總條目數

  * @param integer $current_num 當前被選中的頁

  * @param integer $showPageNum 每次顯示的頁數

  * @param integer $subPageLink 每個分頁的鏈接

  * @param integer $subPage_type 顯示分頁的類型

  * @return void

  */

  public function __construct($eachDisNums, $nums, $currentPage, $subPageLink){

  $this->eachDisNums=intval($eachDisNums);

  $nums = $nums==0 ? 1: $nums;

  $this->nums = intval($nums);

  $this->totalPageNum = ceil($nums/$eachDisNums);

  $this->currentPage =intval($currentPage);

  $this->currentPage = $this->currentPage<=0 ? 1: $this->currentPage;

  $this->currentPage = $this->currentPage > $this->totalPageNum ? 1 : $this->currentPage;

  $this->subPageLink = $subPageLink;

  $this->lastPageText = '..'.$this->totalPageNum;

  }

  public function __destruct(){

  unset($this->eachDisNums);

  unset($this->nums);

  unset($this->currentPage);

  unset($this->showPageNum);

  unset($this->curIndexPage);

  unset($this->totalPageNum);

  unset($this->arrPage);

  unset($this->subPageLink);

  unset($this->firstPageText);

  unset($this->lastPageText);

  unset($this->prePageText);

  unset($this->nextPageText);

  unset($this->pageCss);

  unset($this->curPageCss);

  unset($this->pageStyle);

  unset($this->curPageStyle);

  unset($this->linkSymbol);

  unset($this->isShowFirstLast);

  unset($this->isShowForSimplePage);

  }

  /**

  * 生成分頁

  *

  * @return string

  */

  public function generatePages(){

  $subPageCss2Str = '';

  $isShow = false;

  if($this->totalPageNum == 1){ //只有一頁時

  if($this->isShowForSimplePage){

  $isShow = true;

  }

  }else{

  $isShow = true;

  }

  if($isShow){

  if($this->currentPage > 1){

  $prewPageUrl = $this->subPageLink.$this->linkSymbol.($this->currentPage-1);

  if($this->isShowFirstLast){

  $firstPageUrl = $this->subPageLink.$this->linkSymbol."1";

  $subPageCss2Str .= '<a href="'.$firstPageUrl.'" class="'.$this->pageCss.'" style="'.$this->pageStyle.'">'.$this->firstPageText.'</a>';

  }

  $subPageCss2Str .= '<a href="'.$prewPageUrl.'" class="'.$this->pageCss.'"style="'.$this->pageStyle.'">'.$this->prePageText.'</a>';

  }

  $a=$this->construct_num_Page();

  for($i=0;$i<count($a);$i++){

  $s=$a[$i];

  if($s == $this->currentPage ){

  $subPageCss2Str .= '<a href="#" class="'.$this->curPageCss.'" style="'.$this->curPageStyle.'">'.$s.'</a>';

  }else{

  $url = $this->subPageLink.$this->linkSymbol.$s;

  $subPageCss2Str .= '<a href="'.$url.'" class="'.$this->pageCss.'" style="'.$this->pageStyle.'">'.$s.'</a>';

  }

  }

  if($this->currentPage < $this->totalPageNum){

  $nextPageUrl = $this->subPageLink.$this->linkSymbol.($this->currentPage+1);

  $subPageCss2Str .= '<a href="'.$nextPageUrl.'" class="'.$this->pageCss.'" style="'.$this->pageStyle.'">'.$this->nextPageText.'</a>';

  if($this->isShowFirstLast){

  $lastPageUrl = $this->subPageLink.$this->linkSymbol.$this->totalPageNum;

  $subPageCss2Str .= '<a href="'.$lastPageUrl.'" class="'.$this->pageCss.'"style="'.$this->pageStyle.'">'.$this->lastPageText.'</a> ';

  }

  }

  }

  return $subPageCss2Str;

  }//End of generatePages() Method

  /**

  * 用來給建立分頁的數組初始化的函數。

  *

  * @return array

  */

  private function initArray(){

  for($i=0; $i < $this->showPageNum; $i ++){

  $this->arrPage[$i] = $i;

  }

  return $this->arrPage;

  }//End of initArray() Method

  /**

  * 用來構造顯示的條目

  * 即:[1][2][3][4][5][6][7][8][9][10]

  *

  * @return array

  */

  private function construct_num_Page(){

  if($this->totalPageNum < $this->showPageNum){

  $currentArray = array();

  for($i=0; $i < $this->totalPageNum; $i ++){

  $currentArray[$i] = $i + 1;

  }

  }else{

  $currentArray = $this->initArray();

  $curArrayLen = count($currentArray);

  if($this->currentPage <= $this->curIndexPage){

  for($i=0; $i < $curArrayLen; $i ++){

  $currentArray[$i] = $i+1;

  }

  }elseif (($this->currentPage <= $this->totalPageNum) && ($this->currentPage > ($this->totalPageNum - $this->showPageNum + 1))){

  //構造最后的分頁欄,35 36 37 38 39 40 [下一頁] [最后一頁] 總頁數為40

  for($i=0; $i < $curArrayLen; $i ++){

  $currentArray[$i] = $this->totalPageNum - $this->showPageNum + 1 + $i;

  }

  }else{

  for($i=0; $i < $curArrayLen; $i ++){

  $currentArray[$i] = $this->currentPage - $this->curIndexPage + 1 +$i;

  }

  }

  }

  return $currentArray;

  }//End of construct_num_Page() Method

  }//End of Pages Class

  ?>


猜你喜歡:

1.php分頁類的使用方法

2.php調用類中的方法

3.php調用父類方法

4.php中的“->”用法

374291