欢迎来到天天文库
浏览记录
ID:51693201
大小:33.37 KB
页数:2页
时间:2020-03-15
《PHP自动适应范围的页码分页程序.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、PHP自动适应范围的页码分页程序 效果图: 记得以前看到过一个页码方式的分页效果,页码数多了折行继续显示一直到60多页,呵呵!有点影响美观! 于是写了一个,可以自动适应范围的页码分页程序也就是说,页码格式如下<<<1234567>>><<<6789101112>>> 下划线为当前页,这样就可以固定显示一个相近的页码,避免太长影响美观代码加了注释,主要是新手看看,呵呵,写这个函数,008km.org没有考虑表现结构分离问题,高手就不要追究了!
2、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
3、)$page=$pages;//计算查询偏移量$offset=$pagesize*($page-1);//页码范围计算$init=1;//起始页码数$max=$pages;//结束页码数$pagelen=($pagelen%2)?$pagelen:$pagelen+1;//页码个数$pageoffset=($pagelen-1)/2;//页码个数左右偏移量//生成html$pagecode='';$pagecode.="$page/$pages4、>";//第几页,共几页//如果是第一页,则不显示第一页和上一页的连接if($page!=1){$pagecode.="<<";//第一页$pagecode.="<";//上一页}//分页数大于页码个数时可以偏移if($pages>$pagelen){//如果当前页小于等于左偏移if($page<=$pag5、eoffset){$init=1;$max=$pagelen;}else{//如果当前页大于左偏移//如果当前页码右偏移超出最大分页数if($page+$pageoffset>=$pages+1){$init=$pages-$pagelen+1;}else{//左右偏移都存在时的计算$init=$page-$pageoffset;$max=$page+$pageoffset;}}}//生成htmlfor($i=$init;$i<=$max;$i++){if($i==$page){$pagecode.=6、''.$i.'';}else{$pagecode.="$i";}}if($page!=$pages){$pagecode.=">";//下一页$pagecode.=">>";//最后一页}$pag7、ecode.='
4、>";//第几页,共几页//如果是第一页,则不显示第一页和上一页的连接if($page!=1){$pagecode.="<<";//第一页$pagecode.="<";//上一页}//分页数大于页码个数时可以偏移if($pages>$pagelen){//如果当前页小于等于左偏移if($page<=$pag
5、eoffset){$init=1;$max=$pagelen;}else{//如果当前页大于左偏移//如果当前页码右偏移超出最大分页数if($page+$pageoffset>=$pages+1){$init=$pages-$pagelen+1;}else{//左右偏移都存在时的计算$init=$page-$pageoffset;$max=$page+$pageoffset;}}}//生成htmlfor($i=$init;$i<=$max;$i++){if($i==$page){$pagecode.=
6、''.$i.'';}else{$pagecode.="$i";}}if($page!=$pages){$pagecode.=">";//下一页$pagecode.=">>";//最后一页}$pag
7、ecode.='
8、方法: counts('select`id`from`test`');$sql='select`id`,`title`from`test`';$getpageinfo=page($page,$counts,$phpfile);$sql.=$getpageinfo
此文档下载收益归作者所有