找回密码
 注册
搜索
热搜: java php web
查看: 2111|回复: 6

[PHP]新写的分页函数

[复制链接]
发表于 2009-1-26 06:32:49 | 显示全部楼层 |阅读模式
[PHP]新写的分页函数
详细见附件中. 这里代码格式都是乱的......直接运行即可
  1. <style>.page { width:auto;height:25px;line-height:25px; text-align:center}.page a { width:25px; padding:0px 0px 0px 0px; float:left; font-size:14px;text-decoration:none;}.page a:hover { background-color:#eeeeee; color:#0000ff; text-decoration:underline;}.page a.now:hover { background-color:#ffffff; text-decoration:none;}.page a.now { color:#ff0000}</style><?php/** * @abstract 分页程序 * @copyright Copyright (c) 2007 * @author 张首华 [email protected] * @version $Id: page.func.php 2007-11-09 */function page($totalnum, $perpage = 10){ /** * @param $totalnum 记录总数 * @param $perpage 每页记录数 * @param $pagestr 分页url的变量值 * @param $linknum 每页显示分页链接数量 * @param $before 当前页前的页数 * @param $behind 当前页后的页数 * @param $action 分析动作得到包含文件 * @param $linkstr 链接的字符串 * @param $totalpage 总页数 * @param $first 第一页 * @param $last 最后一页 * @param $pre 前一页 * @param $next 下一页 */ $pagestr = 'page'; $linknum = 10; $before = 4; $behind = 5; $action = $linkstr = ''; /** * @abstract 循环分解$_GET变量 */ if($totalnum < $perpage){ return ; } foreach($_REQUEST as $key => $val){ if($key == $pagestr){ $nowpage = $val; $prepage = $val - 1; $nextpage = $val + 1; }else{ $action .= $key."=".$val."&"; } } $thisname = explode("/", $_SERVER['SCRIPT_NAME']); $filename = $thisname[count($thisname)-1]; if($action){ $action .= $pagestr."="; $filename .= "?"; }else{ $action .= $pagestr."="; $filename .= "?"; } $nowpage = empty($nowpage) ? 1 : $nowpage; $totalpage = ceil($totalnum / $perpage); /** * @abstract 上一页下一页的页码 */ if($nowpage <= 1){ $prepage = 1; $nextpage = $totalpage >=2 ? 2 : 1; } if($nowpage >= $totalpage){ $nextpage = $totalpage; $prepage = $totalpage <= 2 ? 1 : $totalpage - 1; } /** * @abstract 本次分页开始和结束的页码 */ if($totalpage <= $linknum){ $begin = 1; $end = $totalpage; }elseif($totalpage > $linknum){ if($nowpage + $behind <= $totalpage){ $begin = $nowpage - $before > 0 ? $nowpage - $before : 1; $end = $begin + $linknum - 1; }else{ $begin = $totalpage - $linknum + 1; $end = $totalpage; } } /** * @abstract 循环输出页码 */ for($i=$begin; $i<=$end; $i++){ if($nowpage == $i){ $linkstr .= "<a class='now'>".$i."</a>"; }else{ $linkstr .= "<a href='".$filename.$action.$i."'>".$i."</a>"; } } $first = $filename.$action."1"; $last = $filename.$action.$totalpage; $pre = $filename.$action.$prepage; $next = $filename.$action.$nextpage; $page['link'] = "<span class='page'><a href='".$first."'><<</a><a href='".$pre."'><</a>".$linkstr."<a href='".$next."'>></a><a href='".$last."'>>></a></span>"; $page['limit'] = "limit ".$perpage*($nowpage-1).", ".$perpage; return $page;}$page = page(100, 20);echo $page['link'];?>
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2009-1-26 07:04:44 | 显示全部楼层
弄不懂
回复

使用道具 举报

发表于 2009-1-26 07:07:19 | 显示全部楼层
好像显示的有点乱
回复

使用道具 举报

发表于 2009-1-26 08:17:07 | 显示全部楼层
太乱了点吧
回复

使用道具 举报

发表于 2009-1-26 08:08:55 | 显示全部楼层
回复

使用道具 举报

发表于 2009-1-26 07:36:37 | 显示全部楼层
不错的,我最近写了个php+xml的东东,不过没自定义函数 ,直接弄的,呵呵
回复

使用道具 举报

发表于 2009-1-26 07:46:55 | 显示全部楼层
谢谢楼主分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|软晨网(RuanChen.com)

GMT+8, 2024-11-14 12:43

Powered by Discuz! X3.5

Copyright © 2001-2023 Tencent Cloud.

快速回复 返回顶部 返回列表