落伍者站长论坛's Archiver

smallwl 发表于 2008-2-23 20:03

一个实用的分页函数(PHP)(原创)

程序调用:[code]$page = multi(记录总数,每页显示数,当前页数,URL字符串,前后最大显示页数);[/code]模版调用:[code]<div>{$page}</div>[/code]原程序
[php]
//分页函数显示
function multi($count,$tpp,$page,$url,$maxto=5){
$string = $string_f = $string_e = $string_ee = '';
$page = abs($page);
$maxpage = Ceil($count/$tpp)==0 ? 1 : Ceil($count/$tpp);
$url = strrpos($url, '?') ? $url.'&' : $url.'?';
if ($count==0){
$string_ff = "<span class=\"p5\" title=\"没有记录\">没有记录</span> ";
}else{
$string_ff = '';
}
$string_ff .= "<span class=\"p1\" title=\"共 ".$maxpage." 页 / 当前第 ".$page." 页\">共".$maxpage."页 / 第".$page."页</span> ";
if ($page==1 OR $maxpage==0 OR $page>$maxpage){
  $string_f = "<span class=\"p2\">首页</span> <span class=\"p2\">上一页</span> ";
}else{
  $string_f = "<a class=\"p4\" href=\"".$url."page=1\">首页</a> <a class=\"p4\" href=\"".$url."page=".($page-1)."\">上一页</a> ";
}
if ($page==$maxpage OR $maxpage==0 OR $page>$maxpage){
  $string_e = "<span class=\"p2\">下一页</span> <span class=\"p2\">尾页</span> ";
}else{
  $string_e = "<a class=\"p4\" href=\"".$url."page=".($page+1)."\">下一页</a> <a class=\"p4\" href=\"".$url."page=".$maxpage."\">尾页</a> ";
}
$for_end = ($maxpage > ($page + $maxto)) ? ($page +$maxto) : $maxpage;
$for_begin = (($page - $maxto)>1) ? ($page - $maxto) : 1;
for($i=$for_begin;$i<=$for_end;$i++){
  if ($i==$page){
   $string .= "<span class=\"p3\">$i</span> ";
  }else{
   $string .= "<a class=\"p4\" href=\"".$url."page=".$i."\">$i</a> ";
  }
}
if ($page>$maxpage OR $page==0){
  $string_ee = "<span class=\"p5\">没有找到当前页!</span> <a class=\"p5\" href=\"".$url."page=1\">首页</a> <a class=\"p5\" href=\"".$url."page=".$maxpage."\">尾页</a>";
  return $string_ee;
}else{
  return $string_ff.$string_f.$string.$string_e.$string_ee;
}
}


[/php]

多美丽 发表于 2008-5-12 21:21

不懂

limengdeai 发表于 2008-5-14 15:20

很好啊 感谢提供``

kernel 发表于 2008-5-14 17:52

不要把html写进去吧。。

te555 发表于 2008-5-14 18:27

看不懂。

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.