我正在使用 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\">«</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>
为了帮助您入门,Bootstrap 分页在 class = pagination 的 ul 上工作,并将页面链接作为列表项。
在 php 代码的开头将分页类添加到 ul(而不是 div)
<ul class="pagination">
然后,无论您在何处回显页面链接,都用 li 标签将其包裹起来,例如
echo " <li><a href='{$_SERVER['PHP_SELF']}?currentpage=$x'>$x</a> </li>";
编辑
您还想通过更改
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;">
希望这有帮助!
除了上面 David Taiaroa 的回答之外,对于活动按钮状态,您需要添加 class="active" 和 A 标签。
echo " <li>$x</li> ";
..变成..
echo " <li class=\"active\"><a>$x</a></li> ";
对于 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>