php教程自学网 - 轻松零基础学php视频教程
条幅广告
当前位置: 主页 > 原生PHP >

php原生分页类

时间:2018-08-22 19:04来源:未知 作者:admin 点击:
闲的无聊用原生php 写一个简单的分页类多多指点: ?php class Page{ //一列数量 public $colNum; //总数 public $count; //总页数 public $pageCount; //当前页数 public $nowPage; //偏移数 public $offestPage; //完整
闲的无聊用原生php 写一个简单的分页类多多指点:
 
<?php 
class Page{
    //一列数量
    public $colNum;
    //总数
    public $count;
    //总页数
    public $pageCount;
    //当前页数
    public $nowPage;
    //偏移数
    public $offestPage;
    //完整URL
    public $thisUrl;
    //显示页码个数
    public $pageRoll;
 
    /**
    * 初始化分页类的各种参数
    *@param $[colNum]  [单页数据数量]
    *@param $[count]   [数据总数]
    *@param $[roll]    [分页码显示数量]
    *@return           []   
    */
    public function __construct($colNum,$count,$roll){
        //显示多少个分页数字
        $this->pageRoll = $roll;
        //一页多少条记录
        $this->colNum = $colNum;
        //得到当前页面url
        $this->thisUrl = $_SERVER["REQUEST_URI"];
        //计算总页数
        $this->pageCount = ceil($count/$colNum);
 
        //处理当前页
        if(empty($_GET['p'])||$_GET['p']<0 || !is_numeric($_GET['p'])){
            $this->nowPage = 1;
        }else if($_GET['p']>$this->pageCount){
            $this->nowPage = $this->pageCount;
        }else{
            $this->nowPage = (int)$_GET['p'];
        }
 
        //计算偏移量
        $this->offestPage = ($this->nowPage-1)*$this->colNum;
    }
 
    /**
    *处理分页逻辑生成分页代码
    *@return [str:前端代码分页 html]
    */
    public function show(){
        //没有数据  退出
        if( $this->pageCount == 0 ){
            return '';
        }
        $html = '';
        //分析当前url 
        $par = parse_url( $this->thisUrl );
        //当前页码  ceil  取整
        $nowCool = ceil( $this->nowPage/$this->pageRoll );
 
        //url有参数的情况
        if( isset( $par['query'] ) ){
            parse_str( $par['query'],$par_array );
            unset( $par_array['p'] );
            $this->thisUrl = $par['path'].'?'.http_build_query( $par_array ).'&';
        }else{
            //url 无参数情况
            $this->thisUrl = $par['path'].'?';
        }
 
        //上一页判断
        if( $this->nowPage > 1 ){
            $html .= '<a href = '.$this->thisUrl.'p='.($this->nowPage-1).'>'.'上一页'.'</a> &nbsp &nbsp &nbsp' ;
        }
        for( $i = 1;$i <= $this->pageRoll;$i++ ){
            // echo $nowCool.'---'.$this->nowPage;
            $page = ($nowCool -1)*$this->pageRoll+$i;
            $html .= '<a href = '.$this->thisUrl.'p='.$page.'>'.$page.'</a>&nbsp &nbsp &nbsp' ;
        }
        //一页判断
        if( $this->nowPage < $this->pageCount ){
            $html .= '<a href = '.$this->thisUrl.'p='.($this->nowPage+1).'>'.'下一页'.'</a>&nbsp &nbsp &nbsp' ;
        }
        return $html;
 
    }
}
 
//调用部分
$db = new mysqli('localhost', 'root', '', 'newecms');
$set_utf8 =$db->query('set names utf8');
$page = new Page(4,59,3);
$sql = 'select name from wen_ushop limit '.$page->offestPage.','.$page->colNum;
$res = $db->query($sql);
$res = mysqli_fetch_all($res);
var_dump($res);
echo $page->show();
(责任编辑:admin)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
相关推荐
  • php常用原生函数
  • 1.in_array 判断一个值是否在这个数组中 例: $arr = array(apple,banana); if(in_array(app

  • 原生php文件上传
  • html端: form action=check.php method=post enctype=multipart/form-data input type=hidden name=MAX_F

  • 什么是PHP Trait
  • 如果你是一个PHP新手,或者你是一个资深的PHP程序员,你可能听说过Trait,但是

  • 如何通过​PHP创建数据库
  • 数据库是相互关联的数据的集合,我们可以从数据库中有效地检索,插入和删除

  • PHP array_reduce()函数的应用解析
  • 实例 向用户自定义函数发送数组中的值,并返回一个字符串: ?php function myfu

  • php图片裁剪函数
  • /* * 图片裁剪工具 * 将指定文件裁剪成正方形 * 以中心为起始向四周裁剪 * @pa

  • PHP文件格式
  • PHP是编程语言,必须经过服务器解释才能才浏览器上浏览的一种文件。php文件是

  • PHP冒泡排序算法
  • 今天开始弄点面试题,一来巩固所学的PHP知识,二来对某些正在找工作的人也许

  • 原生php实现文件上传方法
  • 用tp的框架上传文件,方便是方便了,但是知其然而不知其所以然。 想要知其所

  • 自己编写php框架的核心
  • 大部分的Web框架处理以下事情: 代码重用:定义包、类、函数的放置和加载规