Chinaunix首页 | 论坛 | 博客
  • 博客访问: 246939
  • 博文数量: 76
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 745
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-28 16:04
文章分类

全部博文(76)

文章存档

2013年(2)

2010年(21)

2009年(53)

我的朋友

分类:

2009-10-29 16:45:07

[CODE:]


class Pages {
    private 
$text = array(   
        
'txt_next_page'                     => '下页',
        
'txt_previous_page'                 => '上页',
        
'txt_start'                         => '首页',
        
'txt_end'                           => '尾页',
        );
    private 
$button_num;
    public function 
SetButton($a){
        
$this -> button_num ceil($a/2);
    }
    public function 
Output($sum,$paginal,$linkpage,$page){                      //总记录数,每页显示条数,页面地址,URL参数页码
        
if($paginal!=0){                                                        //如果每页只显示0条就只显示首页
            
$ys ceil($sum/$paginal);                                          //计算总页数
            
$fy $page!=0 .$linkpage.'&page=0" >'.$this -> text['txt_start'].' ' $this -> text['txt_start'];
            
$start $page<=$this->button_num 1 $page+1-$this->button_num;            //循环开始点
            
$end   $ys<=($page+$this->button_num) ? $page+($ys-$page) : ($page+$this->button_num);        //循环结束点
            
for($i=$start;$i<=$end;$i++){
                
$fy .= $page!=($i-1) ? .$linkpage.'&page='.($i-1).'" >'.$i.' ' ' '.$i.' ';
            }
            
$fy .= $page!=($ys-1) ? .$linkpage.'&page='.($ys-1).'" >'.$this -> text['txt_end'].' ' $this -> text['txt_end'];
        }else{
            
$fy $page!=0 .$linkpage.'&page=0" >'.$this -> text['txt_start'].' ' $this -> text['txt_start'];
            
$fy .= $page!=($ys-1) ? .$linkpage.'&page='.($ys-1).'" >'.$this -> text['txt_end'].' ' $this -> text['txt_end'
];
        }

        return 
$fy;
    }
}
//该类的使用↓

$url_action = "http://".$_SERVER ['HTTP_HOST'].$_SERVER['PHP_SELF'];
$url_action .= '?url='.$_GET['url'].'&xs='.$_GET['xs'].'&css='.$_GET['css'];       //够建接受页面原参数
$page = $_GET["page"]=="" ? 0 : $_GET["page"];

//分页记录都是从零开始的
//---------------------------->开始分页--------------------------------------------------//
$link -> SetSQL("Select * From ".Base::$Com_inf." where com_url = '".$url_this."'");
$main = $link -> Query_array();
$main_row = count($main);             //获取该URL总记录数
$start = !$link -> Get_Value('page') ? 0 : $link -> Get_Value('page');  //第一次打开该页 默认显示为第一页
if($cid['com_num']!=0){              //若该URL设置每页显示0条 则显示所有 取消翻页功能
 $link -> SetSQL("Select * From ".Base::$Com_inf." where com_url = '".$url_this."' order by id desc limit ".$start*$cid['com_num'].",".$cid['com_num']);
}else{
 $link -> SetSQL("Select * From ".Base::$Com_inf." where com_url = '".$url_this."' order by id desc");
}
$mainxs = $link -> Query_array();
$mainxs_row = count($mainxs);
//---------------------------->结束分页显示--------------------------------------------------//


$pages = new Pages();          //实例化对象
$pages -> SetButton(10);       //设置页码显示范围
echo 
$pages -> Output($main_row,$cid['com_num'],$url_action,$page)//总记录数,每页显示条数,页面地址,URL参数页码
//最后页面显示结果如下↓   类似于百度翻页效果
8
?>

背景为黄色部分代码可以不加或者可以改成其他需要的条件
或许直接可以多一个参数 用switch来判断选择显示哪中样式的翻页
其他翻页效果 自己写吧~

阅读(438) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~