Page.class.php

<?php
//分页类,完成分页信息的输出
//共有 3 条记录,每页显示 2 条记录, 当前为 1/2 [首页] [上一页] [下一页] [末页]
//index.php?p=admin&c=brand&a=index&page=2
class Page{
    //属性
    private $total;       //总的记录数
    private $pagesize;    //每页显示的记录数
    private $currernt;    //当前页数
    private $pagenum;     //总的页数
    private $first;       //首页超链接
    private $last;        //末页超链接
    private $prev;        //上一页超链接
    private $next;        //下一页超链接
    private $url;         //超链接的地址

    //构造方法
    /**
     *@param script string 超链接地址的文件名,不带任何参数
     *@param params array 超链接地址的参数
     */
    function __construct($total,$pagesize,$current,$script,$params=array()){
        $this->total = $total;
        $this->pagesize = $pagesize;
        $this->current = $current;
        $this->pagenum = ceil( $total / $pagesize );
        //index.php?p=admin&c=brand&a=index&page=2
        //new分页类 new Page(10,3,2,‘index.php‘,array(‘p‘=>‘admin‘,‘c‘=>‘brand‘,‘a‘=>‘index‘))
        $temp = array();
        foreach ($params as $k =>$v){
            //首先要形成 p=admin c=brand a=index 的内容,以数组的形式保存
            $temp[] = "$k=$v";
        }
        $str = implode("&", $temp); // p=admin&c=brand&a=index
        $this->url = "$script?{$str}&page="; //由于上页,下页,首页,末页的page是不同的,不能指定
        $this->first = $this->getFirst(); //得到首页超链接
        $this->last = $this->getLast();
        $this->prev = $this->getPrev();
        $this->next = $this->getNext();
    }

    //获得首页超链接
    private function getFirst(){
        //判断当前页是否为第一页
        if ($this->current == 1) {
            // 当前页是第一页
            return "[首页]";
        }else {
            //不是第一页
            return "<a href=‘{$this->url}1‘>[首页]</a>";
        }
    }
    //获得末页超链接
    private function getLast(){
        //判断是否为最后一页
        if ($this->current == $this->pagenum ){
            return "[末页]";
        } else {
            return "<a href=‘{$this->url}{$this->pagenum}‘>[末页]</a>";
        }
    }
    //获得上一页超链接
    private function getPrev(){
        //判断是否为第一页
        if ($this->current == 1){
            return "[上一页]";
        } else {
            return "<a href=‘{$this->url}".($this->current - 1)."‘>[上一页]</a>";
        }
    }
    //获得下一页超链接
    private function getNext(){
        //判断是否为末页
        if ($this->current == $this->pagenum){
            return "[下一页]";
        } else {
            return "<a href=‘{$this->url}".($this->current + 1)."‘>[下一页]</a>";
        }
    }
    //主方法,输出分页信息
    public function showPage(){
        if ($this->pagenum >= 1){
            return "共有 {$this->total} 条记录,每页显示 {$this->pagesize} 条记录,
            当前为 {$this->current}/{$this->pagenum} {$this->first} {$this->prev}
            {$this->next} {$this->last}";
        } else {
            return "";
        }
    }
}
时间: 2024-10-11 18:01:59

Page.class.php的相关文章

让被巡视对象摸不着规律

http://v.qq.com/page/l/o/t/x0414yqyi7y.htmlhttp://v.qq.com/page/4/z/l/t0414qgn8mp.htmlhttp://v.qq.com/page/p/c/r/j0414oxk8t7.htmlhttp://v.qq.com/page/l/5/1/f0414554cxg.htmlhttp://v.qq.com/page/f/f/o/w04144bi3ve.htmlhttp://v.qq.com/page/j/n/u/j04148kz

微信小程序 app注册小程序+page注册页面代码一

注册小程序代码:app.js //app.js App({ onLaunch: function(){ var log = wx.getStorageSync("logs") || [] log.unshift(Date.now()) wx.setStorageSync("logs", log) wx.login({ success: res => { // 发送 res.code 到后台换取 openId, sessionKey, unionId } })

SpringBoot接口服务处理Whitelabel Error Page

转载请注明来源:http://blog.csdn.net/loongshawn/article/details/50915979 <SpringBoot接口服务处理Whitelabel Error Page> <Maven依赖载入错误的情况分析> <Java Webproject转换为基于Maven的Webproject> <Maven Webproject执行异常:Maven.multiModuleProjectDirectory system propery

page request session application 范围

在JSP页面中的对象,包括用户创建的对象(例如,JavaBean对象)和JSP的隐含对象,都有一个范围属性.范围定义了在什么时间内, 在哪一个JSP页面中可以访问这些对象.例如,session对象在会话期间内,可以在多个页面中被访问.application对象在整个Web应 用程序的生命周期中都可以被访问.在JSP中,有4种范围,如下所示. 1. page范围 具有page范围的对象被绑定到javax.servlet.jsp.PageContext对象中.在这个范围内的对象,只能在创建对象的页面

使用Page Speed Online改善网站速度

Google是一个伟大的企业,一直以来都非常重视网站的用户体验:对于用户体验,笔者认为,一个网站的用户体验好不好,一个很重要的因素就是网站的打开速度(加载速度):Google最近发布的在线网页加速工具--Page Speed Online,可分析任何网站的速度并且提供如何改进的建议. Page Speed对于一个网站来说,是一个很不错的工具,因为相当一部分的江西seo站长并不了解影响自己网站加载速度的因素有哪些,也就不知道如何去改进自己网站的加载速度.下面就以笔者的博客为例,来阐述一下Page

JSP(Java Server Page)九大内置对象

× Web程序的请求相应模式(请求[request].响应[response]) × form method="get"和method="post"提交方式的区别                  1.get:以明文形式通过url进行参数的传递,数据能在url获取,提交的数据最多不超过2KB,安全性低但效率比post高.                 适用于提交数据量不大,安全性不高的数据.eg:搜索.查询等               2.post:将用户提交的

4.Jsp的page指令

<%@ page 属性="属性值"....%>          常见属性:             language="java"             import=导入需要的jar包             contentType="text/html;charset=utf-8"

[Nuxt] Display Vuex Data Differently in Each Page of Nuxt and Vue.js

You often use the same data in different ways across pages. This lesson walks you through setting up multiple pages, retrieving the same data, then displaying it for each page's use-case. index.vue: <template> <div> <form @submit.prevent=&q

PHP---分页类(page.class.php)

1 <?php 2 class Page 3 { 4 private $total; //数据总记录数 5 private $listRows; //每页显示的行数 6 private $limit; //偏移量长度 7 private $url; 8 private $pageNum; //总页数 9 private $config=array('header'=>'个记录','prev'=>'上一页','next'=>'下一页','first'=>'首页','last'=

使用Github Page鼓励自己每日编程

动机 三天不练手生,编程的基础训练本身是很枯燥的,需要很多的认真与坚持.无论是Debug的经验,语法规则的记忆,还是各类基础的算法运用,都需要持之以恒的认真.Github的"打卡"以及展示页,可以作为一个小小的奖励,鼓励自己每日坚持. 方案 因为github是支持jekyll引擎的,所以使用jekyll生成项目是足够好的选择,还有新一点的工具Hexo,都能快速地在Github Pages上面搭建blog.难度上会比WordPress大一点点,但是足够geek啊.花了一个下午折腾,终于搭