php分页代码实例


  1. function pagestring($count, $pagesize, $wap=false) {  
  2.     $p = new Pager($count, $pagesize, 'page');  
  3.     if ($wap) {  
  4.         return array($pagesize, $p->offset, $p->genWap());  
  5.     }  
  6.     return array($pagesize, $p->offset, $p->genBasic());  
  7. }  
  8.  
  9.  
  10. pagestring文件  
  11.  
  12. <?php 
  13.  
  14. class Pager{  
  15.  
  16.     public $rowCount = 0;  
  17.     public $pageNo = 1;  
  18.     public $pageSize = 20;  
  19.     public $pageCount = 0;  
  20.     public $offset = 0;  
  21.     public $pageString = 'page';  
  22.  
  23.     private $script = null;  
  24.     private $valueArray = array();  
  25.  
  26.     public function __construct($count=0, $size=20, $string='page')  
  27.     {  
  28.         $this->defaultQuery();  
  29.         $this->pageString = $string;  
  30.         $this->pageSize = abs($size);  
  31.         $this->rowCount = abs($count);  
  32.  
  33.         $this->pageCount = ceil($this->rowCount/$this->pageSize);  
  34.         $this->pageCount = ($this->pageCount<=0)?1:$this->pageCount;  
  35.         $this->pageNo = abs(intval(@$_GET[$this->pageString]));  
  36.         $this->pageNo = $this->pageNo==0 ? 1 : $this->pageNo;  
  37.         $this->pageNo = $this->pageNo>$this->pageCount   
  38.             ? $this->pageCount : $this->pageNo;  
  39.         $this->offset = ( $this->pageNo - 1 ) * $this->pageSize;  
  40.     }  
  41.  
  42.     private function genURL( $param, $value ){  
  43.         $valueArray = $this->valueArray;  
  44.         $valueArray[$param] = $value;  
  45.         return $this->script . '?' . http_build_query($valueArray);  
  46.     }  
  47.  
  48.     private function defaultQuery()  
  49.     {  
  50.         ($script_uri = @$_SERVER['SCRIPT_URI'])  ($script_uri = @$_SERVER['REQUEST_URI']);  
  51.         $q_pos = strpos($script_uri,'?');  
  52.         if ( $q_pos > 0 )  
  53.         {  
  54.             $qstring = substr($script_uri, $q_pos+1);  
  55.             parse_str($qstring, $valueArray);  
  56.             $script = substr($script_uri,0,$q_pos);  
  57.         }  
  58.         else  
  59.         {  
  60.             $script = $script_uri;  
  61.             $valueArray = array();  
  62.         }  
  63.         $this->valueArray = empty($valueArray) ? array() : $valueArray;  
  64.         $this->script = $script;  
  65.     }  
  66.  
  67.     public function paginate($switch=1){  
  68.         $from = $this->pageSize*($this->pageNo-1)+1;  
  69.         $from = ($from>$this->rowCount) ? $this->rowCount : $from;  
  70.         $to = $this->pageNo * $this->pageSize;  
  71.         $to = ($to>$this->rowCount) ? $this->rowCount : $to;  
  72.         $size = $this->pageSize;  
  73.         $no = $this->pageNo;  
  74.         $max = $this->pageCount;  
  75.         $total = $this->rowCount;  
  76.  
  77.         return array(  
  78.             'offset' => $this->offset,  
  79.             'from' => $from,  
  80.             'to' => $to,  
  81.             'size' => $size,  
  82.             'no' => $no,  
  83.             'max' => $max,  
  84.             'total' => $total,  
  85.         );  
  86.     }  
  87.  
  88.     public function GenWap() {  
  89.         $r = $this->paginate();  
  90.         $pagestring= '<p align="right">';  
  91.         if( $this->pageNo > 1 ){  
  92.             $pageString.= '4 <a href="http://www.cxybl.com/' . $this->genURL($this->pageString, $this->pageNo-1) . '" accesskey="4">上页</a>';  
  93.         }  
  94.         if( $this->pageNo >1 && $this->pageNo < $this->pageCount ){  
  95.             $pageString.= '|';  
  96.         }  
  97.         if( $this->pageNo < $this->pageCount ) {  
  98.             $pageString.= '<a href="http://www.cxybl.com/' .$this->genURL($this->pageString, $this->pageNo+1) . '" accesskey="6">下页</a> 6';  
  99.         }  
  100.         $pageString.= '</p>';  
  101.         return $pageString;  
  102.     }  
  103.  
  104.     public function GenBasic() {  
  105.         $r = $this->paginate();  
  106.         $buffer = null;  
  107.         $index = '首页';  
  108.         $pre = '上一页';  
  109.         $next = '下一页';  
  110.         $last = '末页';  
  111.  
  112.         if ($this->pageCount<=7) {   
  113.             $rangerange = range(1,$this->pageCount);  
  114.         } else {  
  115.             $min = $this->pageNo - 3;  
  116.             $max = $this->pageNo + 3;  
  117.             if ($min < 1) {  
  118.                 $max += (3-$min);  
  119.                 $min = 1;  
  120.             }  
  121.             if ( $max > $this->pageCount ) {  
  122.                 $min -= ( $max - $this->pageCount );  
  123.                 $max = $this->pageCount;  
  124.             }  
  125.             $min = ($min>1) ? $min : 1;  
  126.             $rangerange = range($min, $max);  
  127.         }  
  128.           
  129.         $buffer .= '<ul class="paginator">';  
  130.         $buffer .= "<li>({$this->rowCount})</li>";  
  131.         if ($this->pageNo > 1) {  
  132.             $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>";  
  133.         }  
  134.         foreach($range AS $one) {  
  135.             if ( $one == $this->pageNo ) {  
  136.                 $buffer .= "<li class=\"current\">{$one}</li>";  
  137.             } else {  
  138.                 $buffer .= "<li><a href='http://www.cxybl.com/".$this->genURL($this->pageString,$one)."'>{$one}</a><li>";  
  139.             }  
  140.         }  
  141.         if ($this->pageNo < $this->pageCount) {  
  142.             $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>";  
  143.         }  
  144.         return $buffer . '</ul>';  
  145.     }  
  146. }  
  147. ?> 

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索return
, array
, count
, wap
, offset
PageSize
php分页代码、php mysql分页代码、php分页显示代码、php分页列表实例、php分页,以便于您获取更多的相关知识。

时间: 2024-08-04 12:28:26

php分页代码实例的相关文章

php新闻内容分页代码实例教程

新闻内容分页代码实例教程 unction explode_content($content, $length) { 02 $i = 0; 03 $k = 1; 04 $j = 0; 05 $wn = 0; 06 $s = ''; 07 $e = 1; 08 $yh = 0; 09 while ($k) { 10 $d = $content[$i]; 11 if ($d !== '') { 12 if (ord($d) > 127) { 13 $j++; 14 $num = 2; 15 $i++;

.NET 纯分页代码实例_实用技巧

前台 复制代码 代码如下: <div class="mydiv"   style="width:100%;height:180px;background-color:#f0f7ff">             <div style="margin-left:10px;">                   <div style="background-color:#DAEBFF"><

学习php分页代码实例_php实例

PHP分页有很多方法,今天我们就用一个小例子演示一下这个功能. 复制代码 代码如下: $result = "<div class=\"page-num\"><ul class=\"fn-clear\">";     // 上一页    if ($offset>0) {        $result .= "<li>            <a href=\"".$url

php 新闻文章分页代码实例教程

unction explode_content($content, $length) {  02 $i = 0;  03 $k = 1;  04 $j = 0;  05 $wn = 0;  06 $s = '';  07 $e = 1;  08 $yh = 0;  09 while ($k) {  10 $d = $content[$i];  11 if ($d !== '') {  12 if (ord($d) > 127) {  13 $j++;  14 $num = 2;  15 $i++

thinkphp3.2.3 分页代码分享_php实例

对于thinkphp分页的实现效果,两种调用方法,一种调用公共函数中的函数方法(参考http://www.cnblogs.com/tianguook/p/4326613.html),一种是在模型中书写分页的方法   1.在公共函数Application/Common/Common/function.php中书写:  function getpage($count,$pagesize=10) { $page=new Think\Page($count,$pagesize); $page->setC

分享PHP函数实现数字与文字分页代码_php实例

这篇文章主要是用PHP函数实现数字与文字分页,具体实现步骤就不罗嗦了,直接上代码 /** * * @param $_sql * @param $_size */ function _page($_sql,$_size) { //将里面的所有变量取出来,外部可以访问 global $_page,$_pagesize,$_pagenum,$_pageabsolute,$_num; if (isset($_GET['page'])) { $_page = $_GET['page']; if (empt

php使用百度ping服务代码实例_php实例

代码实例: <?php function postUrl($url, $postvar) { $ch = curl_init(); $headers = array( "POST".$url."HTTP/1.0", "Content-type: text/xml; charset=\"gb2312\"", "Accept: text/xml", "Content-length: "

PHP封装分页函数实现文本分页和数字分页_php实例

最近,在项目中要用到分页.分页功能是经常使用的一个功能,所以,对其以函数形式进行了封装. // 分页分装/*** $pageType 分页类型 1是数字分页 2是文本分页* 可以将$pageTotal,$page,$total等数据作为参数传递,或者在paging作为全局变量(推荐)*/function paging($pageType){ global $pageTotal,$page,$total; if($pageType == 1) { echo '<div id="pagenum

Thinkphp3.2.3分页使用实例解析_php实例

首先要搞清楚的就是ThinkPHP3.2.3的分页类已经被移到了Think\Page.class.php,这是跟以前的版本有些不一样的,使用起来还是跟以前版本差不多,但是默认的效果不敢恭维,所以最好是自己加些样式.  我加了一些样式(不怎么好看),大家可以自行的再去改进分页样式,效果图:  在这里我有先把page的设置做成了一个函数getpage,将这个方法放到Application\Common\Common\function.php(注意function不是类)中方便其他地方调用,代码如下: