php自动适应范围的分页代码
php自动适应范围的分页代码
发布时间:2016-12-29 来源:查字典编辑
摘要:复制代码代码如下:加了页码跳转文本框以下是新手使用说明复制代码代码如下:======================补贴css复制代码代码如...

复制代码 代码如下:

<?php

functionpage($page,$total,$phpfile,$pagesize=10,$pagelen=7){

$pagecode='';//定义变量,存放分页生成的HTML

$page=intval($page);//避免非数字页码

$total=intval($total);//保证总记录数值类型正确

if(!$total)returnarray();//总记录数为零返回空数组

$pages=ceil($total/$pagesize);//计算总分页

//处理页码合法性

if($page<1)$page=1;

if($page>$pages)$page=$pages;

//计算查询偏移量

$offset=$pagesize*($page-1);

//页码范围计算

$init=1;//起始页码数

$max=$pages;//结束页码数

$pagelen=($pagelen%2)?$pagelen:$pagelen+1;//页码个数

$pageoffset=($pagelen-1)/2;//页码个数左右偏移量

//生成html

$pagecode='<divclass="page">';

$pagecode.="<span>$page/$pages</span>";//第几页,共几页

//如果是第一页,则不显示第一页和上一页的连接

if($page!=1){

$pagecode.="<ahref="{$phpfile}?page=1"><<</a>";//第一页

$pagecode.="<ahref="{$phpfile}?page=".($page-1).""><</a>";//上一页

}

//分页数大于页码个数时可以偏移

if($pages>$pagelen){

//如果当前页小于等于左偏移

if($page<=$pageoffset){

$init=1;

$max=$pagelen;

}else{//如果当前页大于左偏移

//如果当前页码右偏移超出最大分页数

if($page+$pageoffset>=$pages+1){

$init=$pages-$pagelen+1;

}else{

//左右偏移都存在时的计算

$init=$page-$pageoffset;

$max=$page+$pageoffset;

}

}

}

//生成html

for($i=$init;$i<=$max;$i++){

if($i==$page){

$pagecode.='<span>'.$i.'</span>';

}else{

$pagecode.="<ahref="{$phpfile}?page={$i}">$i</a>";

}

}

if($page!=$pages){

$pagecode.="<ahref="{$phpfile}?page=".($page+1)."">></a>";//下一页

$pagecode.="<ahref="{$phpfile}?page={$pages}">>></a>";//最后一页

}

$pagecode.="<inputtype="text"size="3"onkeydown="if(event.keyCode==13){window.location.href='{$phpfile}?page='+this.value;returnfalse;}"/></div>";

returnarray('pagecode'=>$pagecode,'sqllimit'=>'limit'.$offset.','.$pagesize);

}

?>

加了页码跳转文本框

以下是新手使用说明

复制代码 代码如下:

<?php

$phpfile='index.php';//页面文件名

$page=isset($_GET['page'])?$_GET['page']:1;//默认页码

$db=mysql_connect('localhost','test','test');//链接数据库

mysql_select_db('test',$db);//选择数据库

$counts=mysql_num_rows(mysql_query('select`id`from`test`',$db));//获取需要的数据总条数

$sql='select`id`,`title`from`test`';//定义查询语句SQL

$getpageinfo=page($page,$counts,$phpfile);//调用函数,生成分页HTML和SQLLIMIT子句

$sql.=$getpageinfo['sqllimit'];//组合完整的SQL语句

$data=$row=array();//初始化数组

$result=mysql_query($sql,$db);//获取结果集

//将数据装入$data数组

while($row=mysql_fetch_array($result)){

$data[]=$row;

}

?>

<?php

echo$getpageinfo['pagecode'];//显示分页的html代码

?>

======================

补贴css

复制代码 代码如下:

<styletype="text/css">

body{font-family:Tahoma;}

.page{padding:2px;font-weight:bolder;font-size:12px;}

.pagea{border:1pxsolid#ccc;padding:05px05px;margin:2px;text-decoration:none;color:#333;}

.pagespan{padding:05px05px;margin:2px;background:#09f;color:#fff;border:1pxsolid#09c;}

</style>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新php教程学习
热门php教程学习
编程开发子分类