发新话题
打印

[技术] 一个实用的分页函数(PHP)(原创)

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

程序调用:: K! T# y: w# |3 y- G1 ]
复制内容到剪贴板
代码:
$page = multi(记录总数,每页显示数,当前页数,URL字符串,前后最大显示页数);
9 s2 ?$ X3 \1 |* \0 R$ C. V
模版调用: 5 f7 v. `, [) z
复制内容到剪贴板
代码:

<div>{$page}</div>
原程序
  Z2 `: l; Z! q[php]
% S" }/ Y, t7 w( t+ R7 A//分页函数显示
. a1 @* R* G. \9 yfunction multi($count,$tpp,$page,$url,$maxto=5){
5 ]$ Z: c" s" T( q$string = $string_f = $string_e = $string_ee = '';1 l) M" ~+ }1 {6 Q4 F. E! a
$page = abs($page);
+ Y! k, y9 K+ c( v% ^$maxpage = Ceil($count/$tpp)==0 ? 1 : Ceil($count/$tpp);
/ W# Z5 R# C! W7 R$url = strrpos($url, '?') ? $url.'&' : $url.'?';
& h" G  d6 @6 ]& gif ($count==0){$ d- J* f7 f$ X
$string_ff = "<span class=\"p5\" title=\"没有记录\">没有记录</span> ";4 V4 Q4 A$ P  c+ f
}else{* A9 ]$ J6 _- @. J: ]: u
$string_ff = '';: @* P5 x8 C* g+ G) c/ W! b
}0 \. ~$ a" Q/ ^1 ~" P: P
$string_ff .= "<span class=\"p1\" title=\"共 ".$maxpage." 页 / 当前第 ".$page." 页\">共".$maxpage."页 / 第".$page."页</span> ";
  N, a, y9 C* @if ($page==1 OR $maxpage==0 OR $page>$maxpage){
  W2 C; a4 U! o& w3 E) i# Y( Q  $string_f = "<span class=\"p2\">首页</span> <span class=\"p2\">上一页</span> ";* W' Z) Q6 A# V) g# s9 d( m: |' N
}else{/ u. H. Y" l, e2 Z7 z
  $string_f = "<a class=\"p4\" href=\"".$url."page=1\">首页</a> <a class=\"p4\" href=\"".$url."page=".($page-1)."\">上一页</a> ";
: s5 J- c5 T" @. E}
- \( H0 Y7 l0 l& O3 m' g5 p) }" pif ($page==$maxpage OR $maxpage==0 OR $page>$maxpage){
& c3 U; U, V# f- ~1 H+ u  $string_e = "<span class=\"p2\">下一页</span> <span class=\"p2\">尾页</span> ";
" P) K- S3 k* i7 u}else{
6 r: f2 k* N# b- D3 e8 _' ?  $string_e = "<a class=\"p4\" href=\"".$url."page=".($page+1)."\">下一页</a> <a class=\"p4\" href=\"".$url."page=".$maxpage."\">尾页</a> ";' i3 G" ~- A2 ~
}
; n, i! l3 X7 I$for_end = ($maxpage > ($page + $maxto)) ? ($page +$maxto) : $maxpage;
* U3 Z$ r2 X7 }2 y1 X9 a$for_begin = (($page - $maxto)>1) ? ($page - $maxto) : 1;: g" F9 u7 l* j) x( Y# N9 G/ `# B0 P4 B
for($i=$for_begin;$i<=$for_end;$i++){
- n! d/ z. D/ m+ r2 O: b0 F  if ($i==$page){, r* d2 d% v* J* j4 N: _( b) v
   $string .= "<span class=\"p3\">$i</span> ";3 Y) v, t8 Z6 y1 C
  }else{
. [# w! p& f6 m) J   $string .= "<a class=\"p4\" href=\"".$url."page=".$i."\">$i</a> ";9 Q7 J# E% b( _. t1 \
  }
: p9 {+ B/ m/ b4 I0 F4 z7 h}
2 o1 X0 M* r" C" @, yif ($page>$maxpage OR $page==0){6 h/ Z9 a9 Q' S9 @: C. e" C+ `
  $string_ee = "<span class=\"p5\">没有找到当前页!</span> <a class=\"p5\" href=\"".$url."page=1\">首页</a> <a class=\"p5\" href=\"".$url."page=".$maxpage."\">尾页</a>";$ T) u! |5 Q7 y# a
  return $string_ee;
( r1 p% `% g' E}else{
( H3 X1 D2 l4 N* u) s' {" }  return $string_ff.$string_f.$string.$string_e.$string_ee;
  H, S0 g+ }% ^, z}
1 F, b$ O7 v" |$ o* Z' m8 J4 E}2 K% ?1 d9 @! f4 ]2 F

; @- b, p% x! V8 a
" H) N# F  Q1 y2 a! e0 K+ A[/php]

TOP

很不不错啊啊
, E5 A9 F, g; A( Y( y! d; o, i6 [' A支持

TOP

发新话题