这是一个帝国cms的分页函数,在原来的基础上需要改了一下,先说需求无论当前页是不是第一页,首页和上一页都显示出来,下面的代码是当 当前页是第一页的时候,首页和上一页这两个标签不出现了,如何判断让其出现呢如图(效果图)
代码是这样的function my_listpage($num,$page,$dolink,$type,$totalpage,$line,$ok,$search="",$add){
global $fun_r,$public_r;
if($num<=$line)
{
$pager['showpage']='';
return $pager;
}
//文件名
if(empty($add['dofile']))
{
$add['dofile']='index';
}
//静态页数
$repagenum=$add['repagenum'];
$page_line=$public_r['listpagelistnum'];
$snum=2;
//$totalpage=ceil($num/$line);//取得总页数
$firststr='<li><a title="Total record">&nbsp;<b>'.$num.'</b> </a></li>';
//上一页
if($page=1)
{
echo "+++++++++++++++++";
}
if($page<>1)
{
$toppage='<li><a href="'.$dolink.$add['dofile'].$type.'">'.$fun_r['startpage'].'</a></li>';
$pagepr=$page-1;
if($pagepr==1)
{
$prido=$add['dofile'].$type;
}
else
{
$prido=$add['dofile'].'_'.$pagepr.$type;
}
$prepage='<li><a href="'.$dolink.$prido.'">'.$fun_r['pripage'].'</a></li>';
}
//下一页
if($page!=$totalpage)
{
$pagenex=$page+1;
$nextpagelink=$repagenum&&$repagenum<$pagenex?eReturnRewritePageLink2($add,$pagenex):$dolink.$add['dofile'].'_'.$pagenex.$type;
$lastpagelink=$repagenum&&$repagenum<$totalpage?eReturnRewritePageLink2($add,$totalpage):$dolink.$add['dofile'].'_'.$totalpage.$type;
$nextpage='<li><a href="'.$nextpagelink.'">'.$fun_r['nextpage'].'</a></li>';
$lastpage='<li><a href="'.$lastpagelink.'">'.$fun_r['lastpage'].'</a></li>';
}
$starti=$page-$snum<1?1:$page-$snum;
$no=0;
for($i=$starti;$i<=$totalpage&&$no<$page_line;$i++)
{
$no++;
if($page==$i)
{
$is_1='<li class="thisclass">';
$is_2="</li>";
}
elseif($i==1)
{
$is_1='<li><a href="'.$dolink.$add['dofile'].$type.'">';
$is_2="</a></li>";
}
else
{
$thispagelink=$repagenum&&$repagenum<$i?eReturnRewritePageLink2($add,$i):$dolink.$add['dofile'].'_'.$i.$type;
$is_1='<li><a href="'.$thispagelink.'">';
$is_2="</a></li>";
}
$returnstr.= $is_1.$i.$is_2;
}
$returnstr=$toppage.$prepage.$returnstr.$nextpage.$lastpage;
$pager['showpage']=$returnstr;
return $pager;
}
上面不知改哪里才能实现效果需求?

解决方案 »

  1.   


    注意到最后下面 $toppage.$prepage.$returnstr.$nextpage.$lastpage; 这里没,
    $toppage 首页
    $prepage 上一页
    $nextpage 下一页
    $lastpage; 最后一页
    你始终保持着几个有值就可以了,你改下程序,让这几个一直有值就可以了if($page<>1)
    {
    $toppage='<li><a href="'.$dolink.$add['dofile'].$type.'">'.$fun_r['startpage'].'</a></li>';
    $pagepr=$page-1;
    if($pagepr==1)
    {
    $prido=$add['dofile'].$type;
    }
    else
    {
    $prido=$add['dofile'].'_'.$pagepr.$type;
    }
    $prepage='<li><a href="'.$dolink.$prido.'">'.$fun_r['pripage'].'</a></li>';
    }
    看到这个地方没,他是不等于1的时候,这里才有值的其他的一样,你观察下就知道了
      

  2.   


    注意到最后下面 $toppage.$prepage.$returnstr.$nextpage.$lastpage; 这里没,
    $toppage 首页
    $prepage 上一页
    $nextpage 下一页
    $lastpage; 最后一页
    你始终保持着几个有值就可以了,你改下程序,让这几个一直有值就可以了if($page<>1)
    {
    $toppage='<li><a href="'.$dolink.$add['dofile'].$type.'">'.$fun_r['startpage'].'</a></li>';
    $pagepr=$page-1;
    if($pagepr==1)
    {
    $prido=$add['dofile'].$type;
    }
    else
    {
    $prido=$add['dofile'].'_'.$pagepr.$type;
    }
    $prepage='<li><a href="'.$dolink.$prido.'">'.$fun_r['pripage'].'</a></li>';
    }
    看到这个地方没,他是不等于1的时候,这里才有值的其他的一样,你观察下就知道了
    好象要判断if($page=1)的情况吧,因为程序中好象没有等于一的情况
      

  3.   

    这里改一下,如果不要链接就可以把链接去掉。
    //上一页
    //if($page=1)
    //{
    // echo "+++++++++++++++++";
    //}
    if($page<>1)
        {
            $toppage='<li><a href="'.$dolink.$add['dofile'].$type.'">'.$fun_r['startpage'].'</a></li>';
            $pagepr=$page-1;
            if($pagepr==1)
            {
                $prido=$add['dofile'].$type;
            }
            else
            {
                $prido=$add['dofile'].'_'.$pagepr.$type;
            }
            $prepage='<li><a href="'.$dolink.$prido.'">'.$fun_r['pripage'].'</a></li>';
        }
    else
    {
        $toppage='<li><a href="'.$dolink.$add['dofile'].$type.'">'.$fun_r['startpage'].'</a></li>';
        $prepage='<li><a href="'.$dolink.$add['dofile'].$type.'">'.$fun_r['pripage'].'</a></li>';
    }
      

  4.   

    20 行的 if($page=1) 造成 24 行的 if($page<>1) 恒不成立
    所以任何时候都不会输出 首页 和 上一页
      

  5.   

    我问的就是这个问题啊,不要链接的条件做个判断,你怎么又把问题踢给我了,你可真行!发现CSDN的版主都挺会玩的
      

  6.   

    无语,你试了没?我上面的代码与你的有什么区别你看了没?
    else
    {
        $toppage='<li><a href="'.$dolink.$add['dofile'].$type.'">'.$fun_r['startpage'].'</a></li>';
        $prepage='<li><a href="'.$dolink.$add['dofile'].$type.'">'.$fun_r['pripage'].'</a></li>';
    }