如何在 php 中使用 bootstrap 分页

问题描述 投票:0回答:3

我正在使用 php 和 mysql,我成功地按照本教程进行分页: http://www.phpfreaks.com/tutorial/basic-pagination

这里是“mywebpage”(工作中):http://ada.uprrp.edu/~ehazim/hpcf_proj/miejemplo.php

但是现在,我想使用引导分页使其变得“漂亮”:http://getbootstrap.com/components/#pagination

我正在使用 _GET['current_page'] 来获取我所在的页面。问题是我不知道如何更改 echo 来回显引导程序中的分页...是的,这可能很愚蠢,但这是我第一次使用 php,我花了 2 个小时才尝试这样做。有人能帮我吗?下面是我的代码,遵循 php Freats 的教程(我理解,除了一些带有太多引号的回声:/):

    <div class="pagination">
    <ul>

    <?php
    /******  build the pagination links ******/
    // if not on page 1, don't show back links
    if ($currentpage > 1) {
        // show << link to go back to page 1
        # TRYING TO CHANGE HERE AND IN OTHER ECHOS  
        #echo "<li><a href=\"{$_SERVER['PHP_SELF']}?currentpage=1\">&laquo;</a></li>";
        echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=1'><<</a> ";
        // get previous page num
        $prevpage = $currentpage - 1;
        // show < link to go back to 1 page
        #echo " <li><a href='{$_SERVER['PHP_SELF']}?currentpage=$prevpage'><</a> ";
        echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$prevpage'><</a> ";
    } // end if

    # range of num links to show
    $range = 3;

    # loop to show links to range of pages around current page
    for ($x = ($currentpage - $range); $x < (($currentpage + $range)  + 1); $x++) {
        // if it's a valid page number...
        if (($x > 0) && ($x <= $totalpages)) {
        // if we're on current page...
            if ($x == $currentpage) {
            // 'highlight' it but don't make a link
                echo " [<b>$x</b>] ";
        // if not current page...
        }
        else {
            // make it a link
            echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$x'>$x</a> ";
        } // end else
    } // end if 
} // end for


    // if not on last page, show forward and last page links        
    if ($currentpage != $totalpages) {
        // get next page
        $nextpage = $currentpage + 1;
        // echo forward link for next page 
        echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$nextpage'>></a> ";
        // echo forward link for lastpage
        echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$totalpages'>>></a> ";
     } // end if
     # end build pagination links 
?>

</ul>
</div>
php twitter-bootstrap pagination
3个回答
3
投票

为了帮助您入门,Bootstrap 分页在 class = pagination 的 ul 上工作,并将页面链接作为列表项。

在 php 代码的开头将分页类添加到 ul(而不是 div)

<ul class="pagination">  

然后,无论您在何处回显页面链接,都用 li 标签将其包裹起来,例如

echo " <li><a href='{$_SERVER['PHP_SELF']}?currentpage=$x'>$x</a> </li>";  

编辑
您还想通过更改

来调整当前页面的 HTML
echo " [<b>$x</b>] ";  

echo " <li>$x</li> ";

编辑
如果您想让分页栏居中,Bootstrap 3 有一个 text-center 类可供您使用。请参阅http://jsfiddle.net/panchroma/8RHzw/
将 php 的第一行更改为

<div class="text-center">

与 Bootstrap 2 一起使用

<div style="text-align:center;">

希望这有帮助!


0
投票

除了上面 David Taiaroa 的回答之外,对于活动按钮状态,您需要添加 class="active" 和 A 标签。

echo " <li>$x</li> ";

..变成..

echo " <li class=\"active\"><a>$x</a></li> ";

0
投票

对于 Bootstrap 4,使用以下类

<li class='page-item'>
<a class='page-link' href='{$_SERVER['PHP_SELF']}?currentpage=$prevpage'> < </a>
</li>

不要忘记活动项目的锚标记,只需放置哈希而不是页面链接

<li class='page-item active'><a class='page-link' href='#'>$x</a></li>
© www.soinside.com 2019 - 2024. All rights reserved.