日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php分页类代码,php 分页类 扩展代码

發布時間:2024/10/8 php 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php分页类代码,php 分页类 扩展代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原來發表過一個脫離數據庫的分頁類,最近使用的時候發現有些時候搜索的東西過于大的時候,采用url傳遞參數的方式,可能會有一定的影響或者叫已知的bug,這次做了一些擴展,同時兼容了以前的模式,使用上面很簡單的,只需要多設置一個參數就可以了代碼如下:

/**

* 功能: 分頁類,根據提供的數據總量和頁面大小

* 創建日期:Fri Apr 20 16:45:21 CST 2007

* 最后更新:

* 作者: sanshi

*/

class pagination

{

var $result = array();

var $pVar = "myp";//page參數分頁記數

var $urlParamStr = ""; //頁面的所有參數

var $sqlMoveNumber = 0; //數據的偏移量

var $is_post = false;

public function pagination()

{

}

public function set($sum,$pageSize,$page="",$is_post = false)

{

$this->is_post = $is_post;

$this->pVar = defined('PAGE_BAR') ? PAGE_BAR : 'myp' ;

$url = $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];

//計算出總頁數

$curPage = $this->getCurPage();

$temp['sumPage'] = ceil($sum/$pageSize);

//修改了,頁碼超出的bug

if($curPage>$temp['sumPage']) $curPage=$temp['sumPage'];

$temp['curPage'] = $curPage;

$temp['nextPage'] = $temp['sumPage'] > $curPage ? ($curPage+1) : $temp['sumPage'];

$temp['upPage'] = $curPage >1 ? $curPage-1 :1;

$temp['endPage'] = $temp['sumPage'];

$this->urlParamStr = $this->_makeUrl($url);

$temp['urlPageStr'] = ($page=="") ? $this->_makeUrl($url) : $page.$this->urlParamStr;

$this->sqlMoveNumber = $curPage <2 ? 0 : ($curPage-1)*$pageSize;

$temp['sqlMoveNumber'] = $this->sqlMoveNumber;

$temp['rowNo'] = $sum;

$this->result = $temp;

return $this->result;

//print_r($temp);exit();

}

public function getSqlMove()

{

return $this->sqlMoveNumber;

}

public function getFooter()

{

$str= "共有 {$this->result['rowNo']} 條 result['upPage']}'";

if($this->is_post) $str .=" οnclick='return sanshi_page_post(this.href,{$this->result['upPage']});' ";

$str .=" >上一頁 ";

$str .=" 當前 {$this->result['curPage']} 頁";

$str .=" 共有 {$this->result['sumPage']} 頁";

$str .=" result['nextPage']}'";

if($this->is_post) $str .=" οnclick='return sanshi_page_post(this.href,{$this->result['nextPage']});' ";

$str .=" >下一頁";

return $str;

}

public function getJumpPage()

{

if($this->is_post)

{

$str = " 跳到第 \n";

}else{

$str = " 跳到第 \n";

}

for($i=1;$i<=$this->result['sumPage'];$i++)

{

$str .= ($i==$this->result['curPage']) ? "$i\n" : "$i\n";

}

$str.=" 頁";

//輸出form表單

if($this->is_post)

{

$str .="

function sanshi_page_post(jump_link,page_no)

{

document.getElementById('sanshi_goPage').action = jump_link; document.getElementById('{$this->pVar}').value = page_no;

document.getElementById('sanshi_goPage').submit();

return false;

}

// -->";

$str .="

";

$str .="";

$_POST = isset($_POST) ? $_POST : array();

foreach($_POST AS $k=>$v)

{

$str .="";

}

$str .="

";

}

return $str;

}

public function getCurPage()

{

return isset($_GET[$this->pVar]) ? intval($_GET[$this->pVar]) : 1 ;

}

//分析出url的參數返回?后的參數,頁碼為空 包括問號

private function _makeUrl($url)

{

$arrayUrl=parse_url($url);

if(isset($arrayUrl['query']))

{

$q=$arrayUrl['query'];

parse_str($q,$qParam);

//print_r($qParam);

if(array_key_exists($this->pVar,$qParam))

{

foreach ($qParam AS $k=>$v)

{

if($k !=$this->pVar) $temp[$k] = $v;

}

$temp[$this->pVar] = "";

if(function_exists("http_build_query"))

return '?'.http_build_query($temp);

else

return '?'.sanshi_http_build_query($temp);

}else {

return "?{$q}&{$this->pVar}=";

}

}else{

return "?{$this->pVar}=";

}

}

}

function sanshi_http_build_query($a,$b='',$c=0)

{

if (!is_array($a)) return false;

foreach ((array)$a as $k=>$v)

{

if ($c)

$k=$b."[".$k."]";

elseif (is_int($k))

$k=$b.$k;

if (is_array($v)||is_object($v))

{

$r[]=http_build_query($v,$k,1);

continue;

}

$r[]=$k."=".urlencode($v);

}

return implode("&",$r);

}

/*

//print_r($_SERVER);

$p = new pagination();

$p->set(10,2,'thi.php');

echo $p->getFooter();

echo $p->getJumpPage();

*/

?>

總結

以上是生活随笔為你收集整理的php分页类代码,php 分页类 扩展代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。