原来发表过一个脱离数据库的分页类,最近使用的时候发现有些时候搜索的东西过于大的时候,采用url传递参数的方式,可能会有一定的影响或者叫已知的bug,这次做了一些扩展,同时兼容了以前的模式,使用上面很简单的,只需要多设置一个参数就可以了代码如下:复制代码代码如下:php
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);//修改了,页码超出的bugif($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 $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 .=" ";$str .=" >上一页";$str .=" 当前 {$this->result['curPage']} 页";$str .=" 共有 {$this->result['sumPage']} 页";$str .="result['nextPage']}'";if($this->is_post) $str .=" ";$str .=" >下一页";return $str;}public function getJumpPage(){if($this->is_post){$str = " 跳到第$i\n" : "$i\n";}$str.="页";//输出form表单if($this->is_post){$str .="";$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);elsereturn '?'.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();*/?>以上就介绍了photoshop cs5 官方中文正式原版下载 php 分页类 扩展代码,包括了photoshop cs5 官方中文正式原版下载方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
