【问题标题】:on last page next link vanishes and previous link never showed up start to end在最后一页,下一个链接消失了,上一个链接从头到尾从未出现过
【发布时间】:2016-09-20 09:16:39
【问题描述】:

我无法理解我没有做什么。

<?php
    $sql = "SELECT COUNT(*) from customers";
    $query = mysql_query($sql);
    $row = mysql_fetch_row($query);
    $rows = $row[0];
    $page_rows = 3;
    $last = ceil($rows/$page_rows); 
    if($last<1) {
        $last = 1;
    }
    $pagenum = 1;
    if(isset($_GET['pn'])) {        
        $pagenum = preg_replace('#[^0-9]#','',$_GET['pn']);
    } 
    if($pagenum<1) {
        $pagenum=1;
    } else 
        if($pagenum>$last) {
            $pagenum = $last;
        }

    $start = ($pagenum-1)*$page_rows;
    $end = $page_rows;  
    $textline ="page<b>$pagenum</b> of <b>$last</b>" ;
    $paginationCtrl='';
    if($last!=1) {
        if($pagenum>1) {
            // here i am giving the previous link to variable pagination.
            $previous = $pagenum-1;
            $paginationCtrl .= '<a href="'.$_SERVER['PHP_SELF'].'?     pn='.$previous.'">Previous</a>&nbsp;&nbsp;';

            //If i print this this variable then it shows it value.

            for($i=$pagenum-4; $i<$pagenum; $i++) {
                if($i>0) {
                    $paginationCtrl .= '<a href="'.$_SERVER['PHP_SELF'].'?pn='.$i.'">'.$i.'</a>&nbsp;&nbsp;';
                }
            }
        }
        $paginationCtrl=''.$pagenum.'&nbsp;';
        for($i=$pagenum+1; $i<=$last; $i++) {                   
            $paginationCtrl .= '<a href="'.$_SERVER['PHP_SELF'].'?pn='.$i.'">'.$i.'</a>&nbsp;&nbsp;';
            if($i>=$pagenum+4) {
                break;
            }
        }
        if($pagenum!=$last) {
            // Here i am defiinig next link which appeared untill the last page is clicked. if user is on last page it also disappeared.

            $next = $pagenum+1;
            $paginationCtrl .= '&nbsp;&nbsp;<a href="'.$_SERVER['PHP_SELF'].'?pn='.$next.'">Next</a>';
        }
    }
?>
<div class="box-body">
    <table id="example2" class="table table-bordered table-hover">
        <thead>                    
            <tr>
                <th>Customer Name</th>                               
            </tr>
        </thead>
        <tbody>
<?php               
        $sql2 = "SELECT * from customers order by customer_id DESC LIMIT $start,$end";   
        $query2 = mysql_query($sql2);
        while($row = mysql_fetch_array($query2)) { ?>
            <tr>
            </tr>
        <?php } ?>
            <tr><td></td></tr>
        </tbody>                                
    </table>

这里它显示像 1 2 3 next 如果我在第 2 页。它显示像 3 next。

<div><?php echo $paginationCtrl; ?>  </div>

如果我总共有 3 页。我在第 2 页,上一个链接没有出现。如果我在最后一页,下一个链接也消失了。并且 paginationctrl 变量仅显示第 3 页。没有显示以前的页面或链接

【问题讨论】:

    标签: php sql pagination


    【解决方案1】:

    在最后一页下一个链接消失了

    是的,但是很好。在最后一页,没有下一页。

    如果您想显示一个未激活的“下一个”链接,您可以像这样更改您的代码:

    if( $pagenum!=$last )
    {
        $next = $pagenum+1;
        $paginationCtrl .= '&nbsp;&nbsp;<a href="'.$_SERVER['PHP_SELF'].'?pn='.$next.'">Next</a>';
    }
    else
    {
        $paginationCtrl .= '&nbsp;&nbsp;<div class="inactive">Next</div>';
    }
    

    上一个链接从头到尾从未出现过

    你有一个错字。替换这一行:

    $paginationCtrl=''.$pagenum.'&nbsp;';
    

    与:

    $paginationCtrl .= '' . $pagenum . '&nbsp;';
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-18
      • 1970-01-01
      • 2013-08-26
      • 2014-09-26
      • 2023-03-31
      • 2015-06-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多