[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来判断选择显示哪中样式的翻页
其他翻页效果 自己写吧~