Class PAGE {

//类开始

/********************************************************

* $total       记录总数

* $pageNum     每页显示的条数

* $url = ''    链接

* $page->StartPage(显示分类统计,字符分类/数字分页,跳转);

* $page->StartPage(true/false, true/false, true/false);

* site http://www.

*********************************************************/

private $total;   //记录总数

private $pageNum; //每页显示数

private $page;    //当前页数

private $pages;   //总的页数

private $url;     //页面url

private $Aque;    //URL参数

/* 构造函数 */

public function PAGE($total, $pageNum, $url='?'){

$this->total = $total;                 //总记录数.

$this->pageNum = $pageNum;             //每页显示数.

$this->url = $this->StrSift($url);     //判断$url的值是否合法.

$this->Aque = $_GET;                   //页面原来所传递参数.

$this->page = $this->StrSift($_GET['page']);             //当前页面GET(全局变量)方式参数,当前页码.

$this->page = is_numeric($this->page) ? $this->page : 1; //当前页码不为数字时,则把其设为1.

$this->pages = ceil($total/$pageNum);                    //总页数.

if($this->page<1) $this->page = 1;                       //当页码小于1时,则把其设为1.

//if($this->page>$this->pages) $this->page = $this->pages; //当页码大于最大页码时,则把其设为最大页码.

}

/******************

* 分页方法

*******************/

function StartPage($str, $view=true, $jump=true){

if($view==true) $PageStr .= $this->GetCount();    //分页统计信息

if($str=='str') $PageStr .= $this->GetPageStr(); //选择字符分页形式

else $PageStr .= $this->GetPageNum();        //选择数字分页形式

if($jump==true) $PageStr .= $this->JumpSelect(); //跳转

return $PageStr;

}

/**********************************************

* 显示统计信息. 格式:共5条记录 页:2/3

***********************************************/

function GetCount(){

$CountStr = "共". $this->total ."条记录 页:".$this->page."/".$this->pages."  ";

return $CountStr;

}

/***********************************************

* 分页格式形一:第一页 上一页 下一页 末 页

************************************************/

function GetPageStr(){

$url = $this->url; //获取URL

//对URL参数进行处理:数组的键是URL变量,数组的值是URL变量的值.

foreach($this->Aque as $key => $val){

switch($key){

case "page":

$Next = $val + 1;

$Prev = $val - 1;

break;

default:

$Sque .= "&$key=".$this->StrSift($val);

}

}

if($Next==0) $Next=2;

//首 页    上一页

switch($this->page){

case $this->page<=1:

$pagestr .= "首 页  ";

$pagestr .= "上一页  ";

break;

default:

$pagestr .= "首 页  ";

$pagestr .= "上一页  ";

}

//下一页    末 页

switch($this->page){

case $this->page>=$this->pages:

$pagestr .= "下一页  ";

$pagestr .= "末 页  ";

break;

default:

$pagestr .= "下一页  ";

$pagestr .= "末 页  ";

}

//返回分页字符串.

return $pagestr;

}

/***********************************************************

* 分页格式形如:共4307条记录 页:1/72   1 2 3 4 5 6 7 8 9 10

************************************************************/

function GetPageNum(){

$url = $this->url;

//对URL参数进行处理:数组的键是URL变量,数组的值是URL变量的值.

foreach($this->Aque as $key => $val){

switch($key){

case $key!="page":

$Sque .= "&$key=".$this->StrSift($val);

}

}

switch($this->pages){

//总页数大于12页:

case $this->pages>12:

//分页数字前:< <<

switch($this->page){

case $this->page>1:

$pagestr .= "< ";

$pagestr .= "<< ";

break;

default:

$pagestr .= "

$pagestr .= "<

}

//分页数字:1 2 3 4 5 6     当前页码左边6个分页链接,右边6个分页链接.

for($i=$this->page-6; $i<=$this->page+6; $i++){

if($i>$this->pages) break;

if($i==$this->page) $pagestr .= $i." ";

elseif($i>=1) $pagestr .= "$i ";

}

//分页数字后: > >>

switch($this->page){

case $this->pagepages:

$pagestr .= ">> ";

$pagestr .= "> ";

break;

default:

$pagestr .= "> ";

$pagestr .= ">> ";

}

break;

default:

//总页数小于12页:

for($i=1; $i<=$this->pages; $i++){

switch($i){

case $i==$this->page:

$pagestr .= $i." ";

break;

default:

$pagestr .= "$i ";

}

}

}

//返回分页字符串.

return $pagestr;

}

/************************

* 定义跳转页. BEGIN

*************************/

function JumpSelect(){

$url = $this->url;

//对URL参数进行处理:数组的键是URL变量,数组的值是URL变量的值.

foreach($this->Aque as $key => $val){

if($key != "page") $Sque .= "&$key=".$this->StrSift($val);

}

$SelectStr = "\n

$SelectStr .= "onChange=\"window.location='".$url."?page='+this.value+'".$Sque."'\">\n";

for($i=1; $i<=$this->pages; $i++){

if($i == $this->page) $selected = " selected";

else $selected = "";

$SelectStr .= "$i\n";

}

$SelectStr .= "

\n";

//返回分页字符串.

return $SelectStr;

}

/**********************************

* 过滤特殊字符.

***********************************/

private function StrSift($str){

$str = str_replace()("\"","",$str);

$str = str_replace("'","",$str);

$str = str_replace("[url=file://%22,%22%22,$str/]\\","",$str[/url]);

$str = str_replace("\/","",$str);

$str = str_replace(":","",$str);

$str = str_replace("?","",$str); //去除会出现"??".

$str = str_replace(">","",$str);

$str = str_replace("

$str = str_replace("%","",$str);

$str = str_replace("*","",$str);

$str = str_replace("&","",$str);

$str = str_replace(".","",$str);

return $str;

}

//类结束

}

?>

php程序里如何实现图片翻页,php图片上传代码一例-php 生成翻页链接(页码)列表的...-带多种分页方式的php分页类_169IT.COM...相关推荐

  1. 微信小程序组件:图片、视频、语音上传

    该组件封装了图片.视频.语音上传功能,也是最近开发过程中的一个收获,如图: 组件相关代码 uploader.wxml <scroll-view class="upload-file&q ...

  2. php将图片导入,php中图片文件的导入,上传与下载

    ---------------------------------------------图片的导入-------------------------------------------------- ...

  3. uniapp 超过2m无法上传代码!uni-module太大了,小程序无法上传怎么办?

    问题描述: 虽然分包了.但是主包里还有很多uniui的组件,占了2m多,之前一直是点击运行,然后再上传代码.提示的超过2m无法上传. 解决办法: 点击发行,然后上传就可以了. 优化建议: 1.组件按需 ...

  4. python autoit获取网页ajax数据_WebDriver + Python 调用AutoIt例子(实现139邮箱写信页的附件上传)...

    PS: 前提 1. 安装好webdriver下python实现的环境 2. 安装好Autoit(默认安装就可以了) 3. 另外需要一个139邮箱账号,脚本运行时上传的图片在附件里面 #coding:c ...

  5. 仿抖音短视频h5单页版htnl上传即可使用源码文件

    仿抖音短视频的模板 项目是前后端分离,前端采用uniapp开发,后端目前是用frphp临时搭建的接口,后续为了方便管理内容,会移植到极致cms上.现在也可丢到网站里当一个单页使用,无聊时可以刷一刷短视 ...

  6. 微信小程序选择多张图片连同表单中其他信息一起上传并保存到MySQL数据库

    多读多写多记录,多学多练多思考.----------- Banana • Banuit Gang(BUG香柚帮) 最近在做小程序的多图片上传+连同表单信息和图片服务器端地址一起保存到数据库中这项功能, ...

  7. 微信小程序开发 - 实现pdf、word等格式文件上传到后端的方法

    写在前面 我发现,微信的wx.uploadFile接口限制好多,而且会经常性出现bug,所以今天搜了一上午的资料, 看看能不能不要通过这个接口上传multipart/form-data格式的文件. 后 ...

  8. input file详细介绍、更改css样式、获取图片地址、彻底清空上传文件(建议收藏)

    文章目录 博客内容 介绍 input 全部类型 file 类型 属性 accept属性 multiple属性 事件监听 css样式更改 上传图片文件,获取图片地址 input type file上传文 ...

  9. php网页中不能上传图片,为什么我的PHP图片上传代码可以实现插入数据库但图片不能插入文件夹中?...

    为什么我的PHP图片上传代码可以实现插入数据库但图片不能插入文件夹中? 关注:167  答案:4  mip版 解决时间 2021-01-19 00:58 提问者慢慢学会遗忘 2021-01-18 00 ...

最新文章

  1. Mob之社会化分享集成ShareSDK
  2. AI人才报告 | AI稳超互联网平均薪资,哪些细分领域最受追捧?
  3. 阿里大佬告诉你,支付宝的架构到底有多牛逼!还没看完我就跪了!
  4. 转换环境与执行环境、宿主环境与独立环境、宿主实现与独立实现
  5. 寻找道路(codevs 3731)题解
  6. 7、ABPZero系列教程之拼多多卖家工具 修改注册功能
  7. 血红蛋白判断access程序答案_普渡大学开发智能手机应用程序 帮助评估贫血症情况...
  8. 【Spring】Spring autowire-candidate解决注入的时候有多个符合的bena
  9. vue 高德地图搜索功能_VUE中使用高德地图做轨迹添加功能,帮助轨迹展示
  10. Linux常用命令——rsync
  11. mongodb副本集php,MongoDB副本集
  12. 山东理工大计算机学院袁帅,山东理工大学学子讲坛暨第一届学生会学风建设交流会举办...
  13. 让Google earth叠加中文地图
  14. 谈谈免费的仓库管理软件
  15. CardView覆盖问题
  16. 上门洗车App 竟然是块大肥肉!
  17. 【STC单片机学习】第二课:单片机是什么东西
  18. 高校最美图书馆!飘在水上?
  19. FRECO联盟探营:未来还看这些“小字辈”
  20. bsl是计算机术语吗,一种BSL的确定方法、BIER-TE控制器和计算机存储介质与流程...

热门文章

  1. error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version
  2. LVDS DP等显示器接口简介
  3. IDC:聚焦6+6,抓住数字化转型商机
  4. DOSbox汇编集成环境下的具体设置
  5. Ubuntu链接ubuntu服务器
  6. read name 和 read 在 Bash 中的区别
  7. 【HTML学习】——HTML常见标签属性和方法介绍
  8. DOxygen for C++使用说明——Markdown支持
  9. python适合什么样的人群_什么样的人比较适合选择Python开发+人工智能技术?
  10. bean的作用域和生命周期