php翻页代码 用类实现
PHP分页类
class page
{
var $count; //总记录
var $cur_page; //当前页面
var $sql; //数据库语句
var $conn; //数据库连接串
var $page_size; //首页显示的记录数
var $pages; //总页数
var $url; //当前页面url
function page($conn)//构造函数
{
$this->conn =$conn;//数据库连接
}
function init()//初始化函数
{
$this->get_count();//获取总纪录数
$this->get_curpage();//获取当前页数
$this->get_allpage();//总页数
$this->url=$_SERVER['PHP_SELF'];//当前页面url
}
function open()//获取记录集
{
$this->init();//初始化
if($this->conn)
{
$sql=$this->sql." limit ".$this->page_size * $this->cur_page." ,".$this->page_size;
$rs=mysql_query($sql,$this->conn);
return $rs;
}
else
return false;
}
function get_count()//获取总纪录数
{
if(isset($_GET['count']))
$this->count=$_GET['count'];
else
{
$rs=mysql_query($this->sql,$this->conn);
$this->count=mysql_num_rows($rs);
}
}
function get_curpage()//获取当前页数
{
if(isset($_GET['cur_page']))
$this->cur_page=intval($_GET['cur_page'])+0;
else
$this->cur_page=0;
}
function get_allpage()//获取总页数
{
if($this->count % $this->page_size)
$this->pages=intval($this->count / $this->page_size);
else
$this->pages=intval($this->count / $this->page_size)-1;
}
//文字分页链接
function first_page($name="首页",$str="",$class_name="")//首页。$name为首页名称,$str为自定义传递字符串,$class_name为CSS类选择标签名(注,以下同)
{
if($this->cur_page >0)//当前页大于第一页
printf("$name ",$this->url,0,$this->count);
}
function back_page($name="上一页",$str="",$class_name="")//上一页
{
if( $this->cur_page > 0)//当前页不是第一页
printf("$name ",$this->url,$this->cur_page-1,$this->count);
}
function next_page($name="下一页",$str="",$class_name="")//下一页
{
if($this->cur_page<$this->pages)//当前页小于总页数
printf("$name ",$this->url,$this->cur_page+1,$this->count);
}
function last_page($name="最后一页",$str="",$class_name="")//尾页
{
if( $this->cur_page < $this->pages)//当前页不是最后一页
printf("$name",$this->url,$this->pages,$this->count);
}
}
?>
//调用页面如下
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
require("page.php"); //类文件
//连接数据库
$conn=mysql_connect("localhost","root","")or die("数据库连接失败,请联系管理员!");
mysql_select_db("test",$conn);
mysql_query("set names 'gbk'");
$obj=new page($conn);
$obj->sql="select * from leaves";//查询语句
$obj->page_size=2;//每页显示的记录数
$rs=$obj->open();
if(false==$rs)
die("获取记录集失败,请检查数据库连接是否成功!");
else
{
while($myrow=mysql_fetch_array($rs))
echo "留言人:".$myrow["leavename"]." 时间:".$myrow["leavetime"]."
留言标题:".$myrow["title"]."
留言内容:".$ myrow["content"]."
";
}
$obj->first_page();
$obj->back_page();
$obj->next_page();
$obj->last_page();
echo "
";
?>
class page
{
var $count; //总记录
var $cur_page; //当前页面
var $sql; //数据库语句
var $conn; //数据库连接串
var $page_size; //首页显示的记录数
var $pages; //总页数
var $url; //当前页面url
function page($conn)//构造函数
{
$this->conn =$conn;//数据库连接
}
function init()//初始化函数
{
$this->get_count();//获取总纪录数
$this->get_curpage();//获取当前页数
$this->get_allpage();//总页数
$this->url=$_SERVER['PHP_SELF'];//当前页面url
}
function open()//获取记录集
{
$this->init();//初始化
if($this->conn)
{
$sql=$this->sql." limit ".$this->page_size * $this->cur_page." ,".$this->page_size;
$rs=mysql_query($sql,$this->conn);
return $rs;
}
else
return false;
}
function get_count()//获取总纪录数
{
if(isset($_GET['count']))
$this->count=$_GET['count'];
else
{
$rs=mysql_query($this->sql,$this->conn);
$this->count=mysql_num_rows($rs);
}
}
function get_curpage()//获取当前页数
{
if(isset($_GET['cur_page']))
$this->cur_page=intval($_GET['cur_page'])+0;
else
$this->cur_page=0;
}
function get_allpage()//获取总页数
{
if($this->count % $this->page_size)
$this->pages=intval($this->count / $this->page_size);
else
$this->pages=intval($this->count / $this->page_size)-1;
}
//文字分页链接
function first_page($name="首页",$str="",$class_name="")//首页。$name为首页名称,$str为自定义传递字符串,$class_name为CSS类选择标签名(注,以下同)
{
if($this->cur_page >0)//当前页大于第一页
printf("$name ",$this->url,0,$this->count);
}
function back_page($name="上一页",$str="",$class_name="")//上一页
{
if( $this->cur_page > 0)//当前页不是第一页
printf("$name ",$this->url,$this->cur_page-1,$this->count);
}
function next_page($name="下一页",$str="",$class_name="")//下一页
{
if($this->cur_page<$this->pages)//当前页小于总页数
printf("$name ",$this->url,$this->cur_page+1,$this->count);
}
function last_page($name="最后一页",$str="",$class_name="")//尾页
{
if( $this->cur_page < $this->pages)//当前页不是最后一页
printf("$name",$this->url,$this->pages,$this->count);
}
}
?>
//调用页面如下
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
require("page.php"); //类文件
//连接数据库
$conn=mysql_connect("localhost","root","")or die("数据库连接失败,请联系管理员!");
mysql_select_db("test",$conn);
mysql_query("set names 'gbk'");
$obj=new page($conn);
$obj->sql="select * from leaves";//查询语句
$obj->page_size=2;//每页显示的记录数
$rs=$obj->open();
if(false==$rs)
die("获取记录集失败,请检查数据库连接是否成功!");
else
{
while($myrow=mysql_fetch_array($rs))
echo "留言人:".$myrow["leavename"]." 时间:".$myrow["leavetime"]."
留言标题:".$myrow["title"]."
留言内容:".$ myrow["content"]."
";
}
$obj->first_page();
$obj->back_page();
$obj->next_page();
$obj->last_page();
echo "
";
?>
我来回答
回答0个
时间排序
认可量排序
暂无数据
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
相关问答
-
2008-07-19 01:30:54
-
2012-12-24 14:14:27
-
2008-07-16 12:51:40
-
2008-08-07 19:00:12
-
2008-08-24 12:38:49
-
2020-12-04 13:52:56
-
2024-01-23 14:15:25
-
2008-05-24 14:33:08
-
2018-12-29 15:10:03
-
2008-07-12 19:14:12
-
2015-07-27 15:00:18
-
2019-01-03 14:28:27
-
2008-08-18 21:49:17
-
2008-08-18 21:50:46
-
2014-11-21 10:58:05
-
2020-11-28 13:36:36
-
2018-12-06 10:37:26
-
2018-12-25 09:38:58
-
2018-12-21 14:40:32
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
-
50SS928 运行PQtools 拼接 推到设备里有一半画面会异常
-
53536AV100的sample_vdec输出到CVBS显示
-
10海思板子mpp怎么在vi阶段改变视频数据尺寸
-
10HI3559AV100 多摄像头同步模式
-
9海思ss928单路摄像头vio中加入opencv处理并显示
-
10EB-RV1126-BC-191板子运行自己编码的程序
-
10求HI3519DV500_SDK_V2.0.1.1
-
5有偿求HI3516DV500 + OV5647驱动
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认