- 浏览: 1876926 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
wangyudong:
Wisdom RESTClient工具地址更新了哦https: ...
前端模拟POST发送数据-Chrome下的REST Client(接口测试利器) -
wangyudong:
很多REST Client是不支持自动化测试RESTful A ...
前端模拟POST发送数据-Chrome下的REST Client(接口测试利器) -
higkoo:
一个非常棒的系统,要是能支持LDAP等开源认证就完美了。
Cynthia 是个问题管理/BUG管理/任务管理/项目管理系统。 -
寻光之旅:
标签库使用有啥好处呢?
thinkphp 使用标签库的步骤 -
lgdjy123:
Android:TextView属性大全
过程化分页
<?php header("Content-Type:text/html;charset=utf-8"); mysql_connect('localhost','root','root'); mysql_select_db('test'); $sql="select * from test where 1"; $result=mysql_query($sql); $total_num=mysql_num_rows($result);//查出一共有多少条记录 $show_num=3;//显示多少条 $total_pages=ceil($total_num/$show_num);//获取总的页数,ceil向上去整,floor向下 $current=isset($_GET['page'])?$_GET['page']:1;//当前页号 $next=($current==$total_pages)?false:$current+1; $prev=($current==1)?false:$current-1; $offset=($current-1)*$show_num; $sql="select * from goods limit $offset,3";//offset为偏移量,代表查询时候,数据库起始位置 $result=mysql_query($sql); mysql_close(); ?> <table> <tr><th>id</th><th>name</th><th>price</th><th>mprice</th></tr> <?php while($arr=mysql_fetch_assoc($result)){ $id=$arr['id']; $name=$arr['name']; $price=$arr['price']; $mprice=$arr['mprice']; ?> <tr><td><?php echo $id ?></td><td><?php echo $name ?></td><td><?php echo $price ?></td><td><?php echo $mprice ?></td></tr> <?php } ?> <tr><td colspan="4"> <?php echo "一共有{$total_num}条记录,显示{$show_num}条,{$current}/{$total_pages}"; echo "首页"; if(!$prev){ echo "上一页"; }else{ echo "<a href='fenye.php?page={$prev}'>上一页</a>"; } if(!$next){ echo "下一页"; }else{ echo "<a href='fenye.php?page={$next}'>下一页</a>"; } echo "尾页"; unset($result); ?> </td></tr> </table>
下面是分页类:
<?php class page{ //总页数 protected $count; //当前页码 protected $page; //总记录数,总条数 protected $total; //上一页 protected $prev='上一页'; //下一页 protected $next='下一页'; //首页 protected $first='首页'; //尾页 protected $last='尾页'; //开始记录数 protected $start; //结束记录数 protected $end; //每页显示条数 protected $num; //URL protected $url; //上一页数 protected $prevNum; //下一页数 protected $nextNum; //初使化成员属性 public function __construct($url,$total,$num=5){ $this->url=$url; $this->total=$total; $this->num=$num; $this->count=$this->getCount(); $this->page=empty($_GET['page'])?1:(int)$_GET['page']; $this->prevNum=$this->getPrev(); $this->nextNum=$this->getNext(); $this->start=$this->getStart(); $this->end=$this->getEnd(); } protected function getStart(){ return ($this->page-1)*$this->num+1; } protected function getEnd(){ return min($this->page*$this->num,$this->total); } protected function getNext(){ if($this->page>=$this->count){ return false; }else{ return $this->page+1; } } protected function getPrev(){ if($this->page<=1){ return false; }else{ return $this->page-1; } } protected function getCount(){ return ceil($this->total/$this->num); } // // //得到偏移量 limit 偏移量,数量 limit 0,5 5,5 10,5 public function getOffset(){ return ($this->page-1)*$this->num; } //得到分页效果 // //search.php?keywords=手机&page=1 // //第x页 从第n条记录到第n条记录 共x页 首页 上一页 下一页 尾页 public function getPage(){ $string='第'.$this->page.'页 从第'.$this->start.'条记录到第'.$this->end.'条记录 共'.$this->count.'页 <a href="'.$this->url.'page=1">'.$this->first.'</a> '; if($this->prevNum){ $string.='<a href="'.$this->url.'page='.$this->prevNum.'">'.$this->prev.'</a> '; }else{ $string.=$this->prev.' '; } if($this->nextNum){ $string.='<a href="'.$this->url.'page='.$this->nextNum.'">'.$this->next.'</a> '; }else{ $string.=$this->next.' '; } $string.='<a href="'.$this->url.'page='.$this->count.'">'.$this->last.'</a>'; return $string; } } ?>
发表评论
-
Lumen写事件
2018-02-10 10:46 7971.在事件里面定义事件 <?php /** * ... -
PHP设计模式之状态机模式-实现业务流控制
2018-01-28 11:16 1805应用场景:在我们日常开发中经常会遇到各种状态的切换,例如电 ... -
装wampserver时显示计算机丢失MSVCR110.dll
2017-03-07 10:15 1205http://www.microsoft.com/zh-CN ... -
phpdocument的使用
2016-10-25 16:24 623官网: https://www.phpdoc.org/ ... -
微信调试方法
2016-05-24 09:25 7881. 在本地搭建类似LAMP的环境(或者WAMP)都行,目的 ... -
创建自己的composer包
2015-12-10 17:01 990创建一个composer/packagist包 在g ... -
微信nickname乱码及mysql编码格式设置(utf8mb4)
2015-12-08 12:24 1727将数据库的编码设置为utf8mb4_general_ci ... -
docker php 配置
2015-10-28 18:10 1117FROM php:5.6-fpm MAINTAINER S ... -
四种数据存储结构---顺序存储 链接存储 索引存储 散列存储
2015-08-15 21:54 1527存储结构分四类:顺序存储、链接存储、索引存储 和 散列存储。 ... -
分享PHP代码检查经验
2015-08-09 23:03 1609问: 团队十多人开发, 如何保证代码规范统一? http ... -
php过滤只匹配中英文字符串
2015-08-04 15:26 1906<?php $str = "php $ ... -
移除emoji内容
2015-08-04 14:52 1244public static function removeE ... -
php 敏感词过滤高级版
2015-08-04 10:20 1492前面介绍过一个过滤了 ... -
php过滤广告内容(兼职,QQ号,淘宝兼职,网址)
2015-08-04 10:17 1180如果你网站有评论那么你肯定会发现你网站经常会被一人注入广告了 ... -
写第一个PHP扩展, 实现计算数组的个数
2015-07-20 19:09 1354需求: 写第一个PHP扩展, 里面包含一个函数叫 maxw ... -
PHP常用设计模式单例, 工厂, 观察者, 责任链, 装饰, 策略,适配,桥接模式
2015-07-15 11:08 1657// 多态, 在JAVA中是这样用的, 其实在PHP当中可 ... -
php命令行界面
2015-07-16 17:03 976常用选项 php -v php -i ... -
使用phpdocument
2015-07-14 17:05 885pear install phpdoc phpDocumen ... -
将session存储到数据库中
2015-07-14 15:33 826CREATE TABLE sessions ( id ... -
正则表达式向前查找向后查找,环绕或零宽断言
2015-07-14 12:40 2414向前查找和向后查找 1. 向前查找:根据要匹配的字符序列后 ...
相关推荐
"php封装的page分页类" 是一个专门用于处理这种需求的类库,它简化了PHP分页的实现过程,通过封装核心逻辑,使开发者能够快速、高效地实现分页功能。 首先,我们要理解分页的基本原理。在数据库查询中,如果一次性...
下面将详细探讨PHP分页类的核心原理、设计模式以及如何在实际项目中应用。 一、分页类的设计原理 1. 计算总页数:分页类首先需要获取数据库中的总记录数,然后根据每页显示的数据量(通常称为每页条数)来计算总...
这个压缩包提供的"简单PHP分页类的实现"是一个实用工具,可以帮助开发者轻松地在网页上实现数据的分页显示。下面将详细介绍分页类的工作原理、如何使用以及相关数据库操作。 首先,PHP分页类的核心功能是计算总页数...
标题中的"一个很好的分页类php分页类"暗示我们这里有一个专门用于实现分页功能的PHP类。这个类可能包含了一系列方法,用于计算总页数、生成页码链接以及处理用户请求的特定页面。 `page.class.php`可能是这个分页类...
在PHP开发中,数据分页是一项...总的来说,这个通用方法类简化了PHP应用程序中的数据分页过程,提高了代码的可维护性和可扩展性。通过合理地利用此类库,开发者可以更专注于业务逻辑,而不用过于关注分页的实现细节。
2. **实例化分页类**:创建一个分页类的对象,传入必要的参数,如总记录数、每页显示的条目数等。 ```php $total_records = count($all_data); // 假设$all_data是所有数据 $per_page = 20; // 每页显示20条数据 $...
这里提到的"自定义分页类+页面静态化+PHP"是一个关于如何在PHP环境中实现高效且可定制化的分页功能,并结合页面静态化技术提升网站性能的实践案例。 首先,让我们详细了解一下自定义分页类。分页类通常包含了计算总...
本压缩包“超强php分页打包 通用分页 万能分页 ajax分页 google分页”提供了一系列的分页解决方案,包括了基本的PHP分页、通用的分页实现、以及结合AJAX技术的动态分页,旨在满足各种项目需求。下面将详细介绍这些...
本文将详细讲解一个名为“PHP分页类,完美版”的工具,它适用于MVC框架,并具备多种分页模式,尤其适合新手学习和使用。 这个分页类的强大之处在于它提供了四种不同的分页模式,可以满足不同场景的需求。默认模式是...
3. **构造函数**:初始化分页类时接收必要的参数,如数据库连接对象、查询语句等。 4. **方法**: - `calculateTotalPages()`:根据每页条数和总记录数计算总页数。 - `getPaginationData()`:执行SQL查询获取指定...
`php智能分页类.zip`是一个压缩包,包含了实现这一功能的PHP类库,使得开发者能够更便捷地在项目中集成智能分页功能,避免了手动编写分页代码的繁琐过程。 首先,我们要理解这个智能分页类的基本工作原理。通常,...
创建一个名为`Page`的类,包含初始化、计算总页数、生成分页链接和获取当前页数据的方法。例如: ```php class Page { private $db; private $currentPage; private $itemsPerPage; public function __...
这些文件通常会包含对分页类的实例化、配置参数(如每页显示的记录数)以及调用相关方法来生成和处理分页的过程。通过查看这些文件,开发者可以学习到如何在实际代码中应用分页功能。 `index.htm`可能是HTML模板...
为了简化开发过程,可以创建一个PHP分页类,封装上述分页逻辑。分页类通常包括以下功能: 1. 初始化:接收数据库查询语句、每页显示数量、当前页码等参数。 2. 计算总页数:根据查询结果的总记录数进行计算。 3. ...
3. **PHP分页导航链接生成** - 在实际应用中,除了显示数据外,还需要为用户提供方便的页面跳转功能。 - 通过循环生成每个页面的链接,用户点击后可以通过URL参数改变当前页面。 - 示例代码: ```php for ($i =...
2. **实例化分页类**:创建分页类的对象,并传入必要的参数,如每页显示的数量、总记录数等。 3. **调用方法**:通过分页类的方法获取分页链接,然后在HTML模板中插入这些链接。 4. **执行数据查询**:根据分页类...
### PHP分页类设计 `classpage`继承自`classdb`,主要用于实现分页功能,这在展示大量数据时十分关键,能够有效提升用户体验和服务器性能。 #### 分页参数设定 - `$sql`:用于查询总记录数的SQL语句。 - `$...
XML(eXtensible Markup Language)是一...它展示了如何使用XML文件作为数据库的替代品,以及如何在PHP中实现基本的分页功能。然而,实际项目中可能需要考虑更多的因素,比如数据安全、性能优化以及更复杂的数据操作。
下面将详细讲解这三个类的用途、原理及如何使用。 1. **PHP文件上传类 (Fileupload.class.php)** 文件上传类主要是为了方便用户在Web端上传文件到服务器。`Fileupload.class.php`可能包含了以下关键功能: - **...
`ext_page.class.php`可能是用于分页的一个类文件,它可能包含了初始化分页参数、生成分页链接、获取当前页、计算总页数等功能。这样的类通常会有以下方法: 1. `__construct($totalRows, $perPage)`: 初始化总记录...