//分页原理
//首页来判断总页数
if(!isset($GX_pre)) $GX_pre=true;
if(!isset($GX_next)) $GX_next=true;
if(!isset($GX_end)) $GX_end=true;
if(!isset($GX_index)) $GX_index=true;
if(!isset($GX_word)) $GX_word=false;
if(!isset($GX_n)) $GX_n=1;
if(!isset($GX_pagelen)) $GX_pagelen=15;
if(!isset($GX_page)) $GX_page=8;
if($GX_n>3) $GX_n=3;
if($GX_word){
echo '
总记录数:'.$GX_num.'总页数:'.$all_page.'当前页:'.$GX_pageno.'';}
if($GX_num==$GX_pagelen){
$all_page = 1;
}else{
if($GX_num%$GX_pagelen==0){
$all_page = floor($GX_num/$GX_pagelen);
}else{
$all_page = floor($GX_num/$GX_pagelen)+1;
}
}
$href = $_SERVER["QUERY_STRING"];
$href = preg_replace('/pageno=([\w+].*)/','',$href);
$href = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$href.'pageno=';
//先处理url和长度
$all_pagelen=$GX_page; // 定义变量页数的总显示个数
$pagen=$GX_n;
$all_pagel = floor($all_pagelen/2);
if($GX_index) echo '
',$GX_index_word,'';if($GX_pageno==1){
if($GX_pre) echo '
',$GX_pre_word,'';}else{
if($GX_pre) echo '
',$GX_pre_word,'';}
if($all_page<=$all_pagelen){ //此处判断总页数小于或者等于$all_pagelen的情况
for($i=1;$i
if($GX_pageno==$i){
echo '
',$i,'';}else{
echo '
',$i,'';}
}
}else{//此处处理总页数大于$all_pagelen的页数分页部分
if($GX_pageno>$all_pagel){
if($GX_pageno+$all_pagel<=$all_page){
for($k=$all_pagel;$k>0;$k--){
echo '
',($GX_pageno-$k),'';}
echo '
',$GX_pageno,'';for($m=1;$m
echo '
',($GX_pageno+$m),'';}
}else{
for($l=($all_pagelen-1);$l>=0;$l--){
if($l==($all_page-$GX_pageno)){
echo '
',$GX_pageno,'';}else{
echo '
',($all_page-$l),'';}
}
}
}else{
for($j=1;$j
if($GX_pageno==$j){
echo '
',$j,'';}else{
echo '
',$j,'';}
}
}
}
if($GX_pageno+$all_pagel<=$all_page-$pagen){
echo "
...";for($n=$pagen;$n>0;$n--){
echo '
',$all_page-($n-1),'';}
}
if($GX_pageno==$all_page){
if($GX_next) echo '
',$GX_next_word,'';}else{
if($GX_next) echo '
',$GX_next_word,'';}
if($GX_end) echo '
',$GX_end_word,'';?>
以上代码是整个分页的核心部分,命名为pagelist.php;保存下来
下面的代码是需要调用分页的部分代码
$GX_pageno=$_GET['pageno'];
$GX_num=10000;//一共有多少条数据
$GX_n=2;//设置尾部显示多少个页码,不要超过三个为了美观
//$GX_pagelen=100;//一页显示多少条数据
//$GX_page=20;//显示分页列表的长度
//$GX_pre=false;隐藏上一页按钮
//$GX_next=false;隐藏下一页按钮
//$GX_index=false;隐藏首页按钮
//$GX_end=false;隐藏末页按钮
$GX_pre_word=" 上一页 ";
$GX_next_word=" 下一页 ";
$GX_end_word=" 末页 ";
$GX_index_word=" 首页 ";
include "pagelist.php";
?>
样式如下,样式可以自己来写,这里只贴出演示的样式代码如下
.Blue_page{width:100%;height:25px;}
.Blue_page li{display:inline-block;margin-left:3px;}
.Blue_page li a{margin: 0 1px;padding: 0 4px;border: 3px double #fff;background: #eee;color: #06f;text-decoration: none;font-family: Arial, Helvetica, sans-serif;font-size:12px;}
.Blue_page li span.current{margin: 0 1px;padding: 0 4px;color: #fff;border: 3px double #fff;background: #f60;}
.Blue_page li span{color:#06f;}
好了可以看下我的分页代码效果 如下图