<?php$page = new page(2, 40);var_dump($page->allurl());class page{ //每页显示多少条数据 protected $number; //一共有多少条数据 protected $totalcount; //当前页 protected $page; //总页数 protected $totalpage; //url protected $url; public function __construct($number, $totalcount) { $this->number = $number; $this->totalcount = $totalcount; //得到总页数 $this-老八所>totalpage = $this->gettotalpage(); //得到当前页数 $this->page = $this->getpage(); //得到url $this->url = $this->geturl(); } /** * 获取总页数 * * @return void */ protected function gettotalpage() { return 传统ceil($this->totalcount / $this->number); } /** * 获取当前页码 * * @return void */ protected function getpage() { if (empty($_get['page'])) { $page = 1; } elif ($_get['page'] > $this->totalpage) { $page = $this->totalpage; } elif ($_get['page'] < 1) { $page = 1; } el { $page = $_get['page']; } return $page; } /** * 获取去掉page之后的url * * @return void */ protected function geturl() { //得到协议名 $scheme = $_rver['request_scheme']; //得到主机名 $host = $_rver['rver_name']; //得到端口号 $port = $_rver['rver_port']; //得到路径和请求字符串 人生必看的10部电视剧 $uri = $_rver['request_uri']; //中间做处理,要将page=5等这种字符串拼接url中,所以如果原来url中有page这个参数,我们首先需要先将原来的page参数给清空 $uriarray = par_url($uri); $path = $uriarray['path']; if (!empty($uriarray['query'])) { //首先将请求字符串变为关联数组 par_str($uriarray['query'], $array); //清除掉关联数组中的page键值对 unt($array['page']); //将剩下的参数拼接为请求字符串 $query = http_build_query($array); //再将请求字符串拼接到路径的后面 if ($query != '') { $path = $path . '?' . $query; } } return $scheme . '://' . $host . ':' . $port . $path; } /** * 设置url * * @param [type] $str * @return void */ protected function turl($str) { if (strstr($this->url, '?')) { $url = $this->url . '&' . $str; } el { $url = $this->url . '?' . $str; } return $url; } /** * 返回所有url * * @return void */ public function allurl() { return [ 'first' => $this->first(), 'prev' => $this->prev(), 'next' => $this->next(), 'end' => $this->end() ]; } /** * 首页 * * @return void */ public function first() { return $this->turl('page=1'); } /** * 下一页 * * @return void */ public fun美国 劳动节ction next() { //根据当前page得到下一页的页码 if ($this->page + 1 > $this->totalpage) { $page = $this->totalpage; } el { $page = $this->page + 1; } return $this->turl('page=' . $page); } /** * 上一页 * * @return void */ public function prev() { if ($this->page - 1 < 1) { $page = 1; } el { $page = $this->page - 1; } return $this->turl('page=' . $page); } /** * 尾页 * * @return void */ public function end() { return $this->turl('page=' . $this->totalpage); } /** * 偏移量,方便数据库查找 * * @return void */ public function limit() { $offt = ($this->page - 1) * $this图片天下->number; return $offt . ',' . $this->number; }}
运行结果:
本文发布于:2023-04-06 17:33:34,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/d0e296d3f2ea6a4cb74ffde4fc3c5b27.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:PHP学习之分页类.doc
本文 PDF 下载地址:PHP学习之分页类.pdf
留言与评论(共有 0 条评论) |