php带数字的分页代码

<?php
//分页原理
//首页来判断总页数
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 '<li><span class="GX_word">总记录数:'.$GX_num.'总页数:'.$all_page.'当前页:'.$GX_pageno.'</span></li>';
}
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 '<li><a href="',$href,'1">',$GX_index_word,'</a></li>';
if($GX_pageno==1){
if($GX_pre) echo '<li><a href="javascript:void();">',$GX_pre_word,'</a></li>';
}else{
if($GX_pre) echo '<li><a href="',$href,($GX_pageno-1),'">',$GX_pre_word,'</a></li>';
}
if($all_page<=$all_pagelen){  //此处判断总页数小于或者等于$all_pagelen的情况
for($i=1;$i<($all_page+1);$i++){
if($GX_pageno==$i){
echo '<li><span class="current">',$i,'</span></li>';
}else{
echo '<li><a href="',$href,$i,'">',$i,'</a></li>';
}
}
}else{//此处处理总页数大于$all_pagelen的页数分页部分
if($GX_pageno>$all_pagel){
if($GX_pageno+$all_pagel<=$all_page){
for($k=$all_pagel;$k>0;$k--){
echo '<li><a href="',$href,($GX_pageno-$k),'">',($GX_pageno-$k),'</a></li>';
}
echo '<li><span class="current">',$GX_pageno,'</span></li>';
for($m=1;$m<($all_pagel+1);$m++){
echo '<li><a href="',$href,($GX_pageno+$m),'">',($GX_pageno+$m),'</a></li>';
}
}else{
for($l=($all_pagelen-1);$l>=0;$l--){
if($l==($all_page-$GX_pageno)){
echo '<li><span class="current">',$GX_pageno,'</span></li>';
}else{
echo '<li><a href="',$href,($all_page-$l),'">',($all_page-$l),'</a></li>';
}
}
}
}else{
for($j=1;$j<($all_pagelen+1);$j++){
if($GX_pageno==$j){
echo '<li><span class="current">',$j,'</span></li>';
}else{
echo '<li><a href="',$href,$j,'">',$j,'</a></li>';
}
}
}
}
if($GX_pageno+$all_pagel<=$all_page-$pagen){
echo "<li><span>...</span></li>";
for($n=$pagen;$n>0;$n--){
echo '<li><a href="',$href,$all_page-($n-1),'">',$all_page-($n-1),'</a></li>';
}
}
if($GX_pageno==$all_page){
if($GX_next) echo '<li><a href="javascript:void();">',$GX_next_word,'</a></li>';
}else{
if($GX_next) echo '<li><a href="',$href,($GX_pageno+1),'">',$GX_next_word,'</a></li>';
}
if($GX_end) echo '<li><a href="',$href,$all_page,'">',$GX_end_word,'</a></li>';
?>

以上代码是整个分页的核心部分,命名为pagelist.php;保存下来

下面的代码是需要调用分页的部分代码

<html>
<link rel="stylesheet" type="text/css" href="style.css" media="all" />
<body>
<!--这里更换样式-->
<div class="Blue_page">
<?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";
?>
</div>
</body>
</html>

样式如下,样式可以自己来写,这里只贴出演示的样式代码如下

<!--蓝色经典开始-->
.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;}
<!--蓝色经典结束-->

好了可以看下我的分页代码效果 如下图

你可能感兴趣的:(php分页代码,php分页,php分页,php多功能分页)