仓酷云
标题:
PHP教程之php分页代码实例
[打印本页]
作者:
小魔女
时间:
2015-2-3 23:36
标题:
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文件 <?php class 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开发特别赶兴趣。
作者:
小女巫
时间:
2015-2-4 03:25
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
作者:
深爱那片海
时间:
2015-2-4 13:48
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
作者:
因胸联盟
时间:
2015-2-4 20:21
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
作者:
若相依
时间:
2015-2-8 20:06
Ps:以上纯属原创,如有雷同,纯属巧合
作者:
admin
时间:
2015-2-11 04:57
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
作者:
第二个灵魂
时间:
2015-2-22 21:09
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox 支持的不是很好,所以能少用还是少用的好。
作者:
山那边是海
时间:
2015-2-28 04:39
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
作者:
爱飞
时间:
2015-3-9 21:06
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
作者:
活着的死人
时间:
2015-3-11 08:00
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
作者:
莫相离
时间:
2015-3-11 16:48
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
作者:
透明
时间:
2015-3-17 17:06
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
作者:
蒙在股里
时间:
2015-3-22 23:26
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
作者:
兰色精灵
时间:
2015-3-26 02:45
实践是检验自己会不会的真理。
作者:
不帅
时间:
2015-3-28 02:50
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
作者:
再现理想
时间:
2015-3-30 21:40
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
作者:
愤怒的大鸟
时间:
2015-4-1 13:10
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
作者:
谁可相欹
时间:
2015-4-11 03:10
写的比较杂,因为我也是个新手,不当至于大家多多指正。
作者:
灵魂腐蚀
时间:
2015-4-12 03:49
实践是检验自己会不会的真理。
作者:
小妖女
时间:
2015-4-14 00:38
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
作者:
分手快乐
时间:
2015-4-17 06:52
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2