用PHP写的一个简单的分页类 1.0版
<?php
/*
分页类 用于实现对多条数据分页显示
version:1.0
author:Knight
E-Mail:S.Knight.Work@gmail.com
Date:2013-10-20
*/
/*
调用非常方便,先连接好数据库,直接传人查询的sql字符串即可,也可以指定每页显示的数据条数
例如$pages = new Page('SELECT * FROM `zy_common_member`');
或 $pages = new Page('SELECT * FROM `zy_common_member`', 10);
*/
class Page{
private $curPage;
private $totalPages;//数据总共分多少页显示
private $dispNum;//每页显示的数据条数
private $queryStr;//查询的SQL语句
private $limitStr;//查询语句后面的limit控制语句
/*
构造函数
$queryStr 查询数据的SQL语句
$dispNum 每页显示的数据条数
*/
public function __construct($queryStr='',$dispNum=10){
$result = mysql_query($queryStr);
$totalNum = mysql_num_rows($result);
$this->dispNum = $dispNum;
$this->totalPages = ceil($totalNum / $dispNum);
$this->queryStr = $queryStr;
$temp = (isset($_GET["curPage"]) ? $_GET["curPage"] : 1);
$this->setCurPage($temp);
$this->showCurPage();
$this->showFoot();
}
/*显示当前页的数据内容*/
private function showCurPage(){
$this->limitStr = ' LIMIT '.(($this->curPage - 1)* $this->dispNum).','.$this->dispNum;
//echo $this->queryStr.$this->limitStr;
$result = mysql_query($this->queryStr.$this->limitStr);
if (!$result)
{
if ($this->totalPages > 0)
{
echo '查询出错'.'<br>';
}
else
{
echo '无数据'.'<br>';
}
return;
}
$cols = mysql_num_fields($result);
echo '<table border="1">';
echo '<tr>';
for($i=0; $i<$cols; $i++)
{
echo '<th>';
echo mysql_field_name($result, $i);
echo '</th>';
}
echo '</tr>';
while($row = mysql_fetch_assoc($result))
{
echo '<tr>';
foreach($row as $key=>$value)
{
echo '<td>';
echo $value;
echo '</td>';
}
echo '</tr>';
}
echo '</table>';
}
private function setCurPage($curPage){
if($curPage < 1)
{
$curPage = 1;
}
else if($curPage > $this->totalPages)
{
$curPage = $this->totalPages;
}
$this->curPage = $curPage;
}
/*
显示分页页脚的信息
如首页,上一页,下一页,尾页等信息
*/
private function showFoot(){
echo '<a href="?curPage=1">首页</a>';
echo '<a href="?curPage='.($this->curPage - 1).'">上一页</a>';
echo '<a href="?curPage='.($this->curPage + 1).'">下一页</a>';
echo '<a href="?curPage='.$this->totalPages.'">尾页</a>';
}
}
?>
用PHP写的一个简单的分页类 1.0版的更多相关文章
- 用PHP写的一个简单的分页类 2.0版
<?php /* 分页类 用于实现对多条数据分页显示 version:2.0 //基于1.0 数据库查询用mysqli实现 author:Knight E-Mail:S.Knight.Work@ ...
- 只是一个用EF写的一个简单的分页方法而已
只是一个用EF写的一个简单的分页方法而已 慢慢的写吧.比如,第一步,先把所有数据查询出来吧. //第一步. public IQueryable<UserInfo> LoadPagesFor ...
- 自己写的一个简单的Tab类
//------------- PS_DOM 功能函数 start----------------var PS_DOM ={ indexOf: function(arr, e){ for(var i= ...
- 写了一个简单的CGI Server
之前看过一些开源程序的源码,也略微知道些Apache的CGI处理程序架构,于是用了一周时间,用C写了一个简单的CGI Server,代码算上头文件,一共1200行左右,难度中等偏上,小伙伴可以仔细看看 ...
- 自己写的一个简单PHP采集器
自己写的一个简单PHP采集器 <?php //**************************************************************** $url = &q ...
- 写了一个简单可用的IOC
根据<架构探险从零开始写javaweb框架>内容写的一个简单的 IOC 学习记录 只说明了主要的类,从上到下执行的流程,需要分清主次,无法每个类都说明,只是把整个主线流程说清楚,避免 ...
- 写了一个简单的 Mybatis
写了一个简单的 Mybatis,取名 SimpleMybatis . 具备增删改查的基本功能,后续还要添加剩下的基本数据类型和Java集合类型的处理. 脑图中有完整的源码和测试的地址 http://n ...
- Python之自定义封装一个简单的Log类
参考:http://www.jb51.net/article/42626.htm 参考:http://blog.csdn.net/u011541946/article/details/70198676 ...
- VC++ 一个简单的Log类
在软件开发中,为程序建立Log日志是很必要的,它可以记录程序运行的状态以及出错信息,方便维护和调试. 下面实现了一个简单的Log类,使用非常简单,仅供参考. // CLogHelper.h : hea ...
随机推荐
- windows 2003 搭建一个vpn
最近从Photonvps.com 租了一台windows主机用来测试网站,512MB的内存,35GB的硬盘空间,每个月500GB的流量和2个独立IP地址.我感觉价格偏贵,不过售后服务还是蛮不错的,每次 ...
- FXBlurView用法
FXBlurView是UIView的子类,它实现毛玻璃效果的原理其实就是覆盖上一层FXBlurView的实例对象. - (void)viewDidLoad { [super viewDidLoad]; ...
- Set集合中的HashSet集合
HashSet集合的特点:元素是具备唯一性的,每次存储都要先算出哈希值,看有没相同,没有相同的存储到相应的位置,如果相同则再判断存储进来的值是否与被比较的相同,如果相同,则不再存储,不同就存储 pac ...
- VS2008/MFC —常用控件使用总结 转载
在公司培训期间,经理给了我们没人10个界面草图,让我们在VS2008下使用MFC设计,因为在经理的帮助和自己的努力下,终于在三天时间内完成,现在就根据在这三天 时间里所用到的控件做出如下总结: 1.D ...
- Windows phone 之手势识别(Drag)
首先,在XAML页面中,添加如下代码: 前提,别忘了添加 1.引入dll (silverlight for wndows phone toolkit) 2.引入命名空间 xmlns:toolkit=& ...
- ruby 中文支持设置
学习Ruby的过程中,对于于涉及中文的的代码的时候,需要添加如下代码在首行 # encoding: utf-8 或者EMAC写法 # -*- coding : utf-8 -*- 因为Ruby编译器会 ...
- u-boot烧写Linux及系统整个启动过程
一.烧写文件 u-boot: u-boot.bin linux kernel: uImage Filesystem: root.bin(yaffs) 二.烧写步骤 1.烧写u-boot tftp 0 ...
- windows server 2012服务器IIS基本配置
- 扩展原生js的一些方法
扩展原生js的Array类 Array.prototype.add = function(item){ this.push(item); } Array.prototype.addRange = fu ...
- svn代码统计
http://chenzhou123520.iteye.com/blog/1436653