自己写的一个通用分页,带下拉选择,可设置显示的分页链接数,不多说,看代码和注释:

 1通用分页实现(PHP版)<?php
 2通用分页实现(PHP版)//Written by Shaoyun 20:17 2008年5月31日
 3通用分页实现(PHP版)//Email:shaoyun at yeah.net
 4通用分页实现(PHP版)//Blog:http://shaoyun.cnblogs.com
 5通用分页实现(PHP版)//分页函数:splitpage(记录总数,每页显示记录数,显示几条分页链接)
 6通用分页实现(PHP版)function splitpage($rscount,$pagesize,$shownum){
 7通用分页实现(PHP版)//计算总页数
 8通用分页实现(PHP版)if ($rscount % $pagesize){
 9通用分页实现(PHP版)    $pagenum=(int)($rscount/$pagesize)+1;
10通用分页实现(PHP版)}else{
11通用分页实现(PHP版)    $pagenum=(int)($rscount/$pagesize);
12通用分页实现(PHP版)}
13通用分页实现(PHP版)//过滤获取正确的页码
14通用分页实现(PHP版)if(!isset($_GET["page"])){
15通用分页实现(PHP版)    $curpage=1;
16通用分页实现(PHP版)}elseif(is_numeric($_GET["page"])){
17通用分页实现(PHP版)    if($_GET["page"]>$pagenum)
18通用分页实现(PHP版)        $curpage=$pagenum;
19通用分页实现(PHP版)    else
20通用分页实现(PHP版)        $curpage=(int)$_GET["page"];
21通用分页实现(PHP版)    if($curpage<1)
22通用分页实现(PHP版)        $curpage=1;
23通用分页实现(PHP版)}else{
24通用分页实现(PHP版)    $curpage=1;
25通用分页实现(PHP版)}
26通用分页实现(PHP版)//设置前一页、后一页、上一页、下一页
27通用分页实现(PHP版)$first_page=1;
28通用分页实现(PHP版)$last_page=$pagenum;
29通用分页实现(PHP版)$up_page=$curpage-1;
30通用分页实现(PHP版)$down_page=$curpage+1;
31通用分页实现(PHP版)//获取当前文件名
32通用分页实现(PHP版)$addr_url=$_SERVER["SCRIPT_NAME"];
33通用分页实现(PHP版)$addr_url=strrev($addr_url);
34通用分页实现(PHP版)$addr_url=substr($addr_url,0,strpos($addr_url,"/"));
35通用分页实现(PHP版)$addr_url=strrev($addr_url);
36通用分页实现(PHP版)$addr_url=$addr_url."?page=";
37通用分页实现(PHP版)
38通用分页实现(PHP版)$page_html=''.$rscount.'条记录&nbsp;'.$pagesize.'条/页&nbsp;第'.$curpage.'/'.$pagenum.'页&nbsp;';
39通用分页实现(PHP版)
40通用分页实现(PHP版)$page_html.="<a href='".$addr_url.$first_page."'>首页</a>&nbsp;";
41通用分页实现(PHP版)if($curpage>1){
42通用分页实现(PHP版)    $page_html.="<a href='".$addr_url.$up_page."'>上一页</a>&nbsp;";
43通用分页实现(PHP版)}else{
44通用分页实现(PHP版)    $page_html.="上一页&nbsp;";
45通用分页实现(PHP版)}
46通用分页实现(PHP版)//计算分页边界
47通用分页实现(PHP版)if($shownum % 2){
48通用分页实现(PHP版)    $show_front_num=(int)($shownum/2);
49通用分页实现(PHP版)    $show_back_num=(int)($shownum/2);
50通用分页实现(PHP版)}else{
51通用分页实现(PHP版)    $show_front_num=(int)($shownum/2)-1;
52通用分页实现(PHP版)    $show_back_num=(int)($shownum/2);
53通用分页实现(PHP版)}
54通用分页实现(PHP版)if($curpage<$show_front_num+1){
55通用分页实现(PHP版)    $fbegin=1;
56通用分页实现(PHP版)    $fend=$shownum;
57通用分页实现(PHP版)}elseif($curpage+$show_back_num>$pagenum){
58通用分页实现(PHP版)    $fend=$pagenum;
59通用分页实现(PHP版)    $fbegin=$pagenum-$shownum+1;
60通用分页实现(PHP版)}else{
61通用分页实现(PHP版)    $fbegin=$curpage-$show_front_num;
62通用分页实现(PHP版)    $fend=$curpage+$show_back_num;
63通用分页实现(PHP版)}
64通用分页实现(PHP版)//分页链接
65通用分页实现(PHP版)for($idx=$fbegin;$idx<$fend+1;++$idx){
66通用分页实现(PHP版)    if($curpage==$idx){
67通用分页实现(PHP版)        $page_html.="<b>".$idx."</b>&nbsp;";
68通用分页实现(PHP版)    }else{
69通用分页实现(PHP版)        $page_html.="<a href='".$addr_url.$idx."'>".$idx."</a>&nbsp;";
70通用分页实现(PHP版)    }
71通用分页实现(PHP版)}
72通用分页实现(PHP版)
73通用分页实现(PHP版)if($curpage<$pagenum){
74通用分页实现(PHP版)    $page_html.="<a href='".$addr_url.$down_page."'>下一页</a>&nbsp;";
75通用分页实现(PHP版)}else{
76通用分页实现(PHP版)    $page_html.="下一页&nbsp;";
77通用分页实现(PHP版)}
78通用分页实现(PHP版)$page_html.="<a href='".$addr_url.$last_page."'>尾页</a>&nbsp;";
79通用分页实现(PHP版)//下拉导航代码
80通用分页实现(PHP版)$page_html.="跳转到&nbsp;";
81通用分页实现(PHP版)$page_html.="<select onChange=window.location.href=this.options[this.selectedIndex].value>";
82通用分页实现(PHP版)for($idx=1;$idx<$pagenum+1;++$idx){
83通用分页实现(PHP版)    if($curpage==$idx){
84通用分页实现(PHP版)        $page_html.="<option value='".$addr_url.$idx."' selected>第".$idx."页</option>";
85通用分页实现(PHP版)    }else{
86通用分页实现(PHP版)        $page_html.="<option value='".$addr_url.$idx."'>第".$idx."页</option>";
87通用分页实现(PHP版)    }
88通用分页实现(PHP版)}
89通用分页实现(PHP版)$page_html.="</select>";
90通用分页实现(PHP版)
91通用分页实现(PHP版)echo $page_html;
92通用分页实现(PHP版)}
93通用分页实现(PHP版)?>

相关文章:

  • 2021-05-20
  • 2021-10-02
  • 2021-10-02
  • 2021-10-02
  • 2021-07-29
  • 2021-11-02
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-02
  • 2021-11-15
  • 2022-01-15
相关资源
相似解决方案