PHP教程之php分页代码实例
讲了这么多,无非是想说:学习PHP不仅要掌握方法,更多的是付出汗水,我不希望看到中途放弃的人,相信自己,相信自己的选择,更要相信自己的能力,如果自己想放弃,暴力一点的话,就自己抽自己一个嘴巴。 function pagestring($count, $pagesize, $wap=false) { $p = new Pager($count, $pagesize, 'page'); if ($wap) { return array($pagesize, $p->offset, $p->genWap()); } return array($pagesize, $p->offset, $p->genBasic());} pagestring文件 <?phpclass Pager{ public $rowCount = 0; public $pageNo = 1; public $pageSize = 20; public $pageCount = 0; public $offset = 0; public $pageString = 'page'; private $script = null; private $valueArray = array(); public function __construct($count=0, $size=20, $string='page') { $this->defaultQuery(); $this->pageString = $string; $this->pageSize = abs($size); $this->rowCount = abs($count); $this->pageCount = ceil($this->rowCount/$this->pageSize); $this->pageCount = ($this->pageCount<=0)?1:$this->pageCount; $this->pageNo = abs(intval(@$_GET[$this->pageString])); $this->pageNo = $this->pageNo==0 ? 1 : $this->pageNo; $this->pageNo = $this->pageNo>$this->pageCount ? $this->pageCount : $this->pageNo; $this->offset = ( $this->pageNo - 1 ) * $this->pageSize; } private function genURL( $param, $value ){ $valueArray = $this->valueArray; $valueArray[$param] = $value; return $this->script . '?' . http_build_query($valueArray); } private function defaultQuery() { ($script_uri = @$_SERVER['SCRIPT_URI'])($script_uri = @$_SERVER['REQUEST_URI']); $q_pos = strpos($script_uri,'?'); if ( $q_pos > 0 ) { $qstring = substr($script_uri, $q_pos+1); parse_str($qstring, $valueArray); $script = substr($script_uri,0,$q_pos); } else { $script = $script_uri; $valueArray = array(); } $this->valueArray = empty($valueArray) ? array() : $valueArray; $this->script = $script; } public function paginate($switch=1){ $from = $this->pageSize*($this->pageNo-1)+1; $from = ($from>$this->rowCount) ? $this->rowCount : $from; $to = $this->pageNo * $this->pageSize; $to = ($to>$this->rowCount) ? $this->rowCount : $to; $size = $this->pageSize; $no = $this->pageNo; $max = $this->pageCount; $total = $this->rowCount; return array( 'offset' => $this->offset, 'from' => $from, 'to' => $to, 'size' => $size, 'no' => $no, 'max' => $max, 'total' => $total, ); } public function GenWap() { $r = $this->paginate(); $pagestring= '<p align="right">'; if( $this->pageNo > 1 ){ $pageString.= '4 <a href="http://www.cxybl.com/' . $this->genURL($this->pageString, $this->pageNo-1) . '" accesskey="4">上页</a>'; } if( $this->pageNo >1 && $this->pageNo < $this->pageCount ){ $pageString.= '|'; } if( $this->pageNo < $this->pageCount ) { $pageString.= '<a href="http://www.cxybl.com/' .$this->genURL($this->pageString, $this->pageNo+1) . '" accesskey="6">下页</a> 6'; } $pageString.= '</p>'; return $pageString; } public function GenBasic() { $r = $this->paginate(); $buffer = null; $index = '首页'; $pre = '上一页'; $next = '下一页'; $last = '末页'; if ($this->pageCount<=7) { $rangerange = range(1,$this->pageCount); } else { $min = $this->pageNo - 3; $max = $this->pageNo + 3; if ($min < 1) { $max += (3-$min); $min = 1; } if ( $max > $this->pageCount ) { $min -= ( $max - $this->pageCount ); $max = $this->pageCount; } $min = ($min>1) ? $min : 1; $rangerange = range($min, $max); } $buffer .= '<ul class="paginator">'; $buffer .= "<li>({$this->rowCount})</li>"; if ($this->pageNo > 1) { $buffer .= "<li><a href='http://www.cxybl.com/".$this->genURL($this->pageString,1)."'>{$index}</a><li><a href='http://www.cxybl.com/".$this->genURL($this->pageString,$this->pageNo-1)."'>{$pre}</a>"; } foreach($range AS $one) { if ( $one == $this->pageNo ) { $buffer .= "<li class=\"current\">{$one}</li>"; } else { $buffer .= "<li><a href='http://www.cxybl.com/".$this->genURL($this->pageString,$one)."'>{$one}</a><li>"; } } if ($this->pageNo < $this->pageCount) { $buffer .= "<li><a href='http://www.cxybl.com/".$this->genURL($this->pageString,$this->pageNo+1)."'>{$next}</a></li><li><a href='http://www.cxybl.com/".$this->genURL($this->pageString, $this->pageCount)."'>{$last}</a></li>"; } return $buffer . '</ul>'; }}?> 既然选择了PHP,就要坚持学下去!大家有没有问自己为什么会选择学习PHP呢?就我个人而言,完全是因为兴趣,因为我的专业和计算机完全无关,但是就是对编程很赶兴趣,尤其对网络编程、web开发特别赶兴趣。 使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的 其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。 我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。 Ps:以上纯属原创,如有雷同,纯属巧合 刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。 微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。 这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己 装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。 因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax 要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。 最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。 有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。 实践是检验自己会不会的真理。 首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。 这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。 首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。 写的比较杂,因为我也是个新手,不当至于大家多多指正。 实践是检验自己会不会的真理。 至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
页:
[1]
2