【问题标题】:Pagination with Bootstrap and PDO使用 Bootstrap 和 PDO 进行分页
【发布时间】:2020-02-14 08:51:54
【问题描述】:

How to create pagination with PDO PHP

我还不能发表评论,所以我发布了一个新问题:

我的问题是,如果我在引导程序中对该问题使用“ANSWER”,我该如何设置哪个按钮/链接处于活动状态? 1 这是我的代码

<?php for ($page=1; $page <= $np ; $page++):?> 
<?php if ($_GET['p']==$page) { ?> 
<li class="page-item page-next"> 
<a href="<?php echo 'http://'.$_SERVER['SERVER_NAME'].'/inbox/'.$page.''; ?>" class="page-link"><?php echo $page; ?> </a> 
</li> 
<?php endfor; ?>

【问题讨论】:

  • 到目前为止你有什么尝试?
  • &lt;?php for ($page=1; $page &lt;= $np ; $page++):?&gt; &lt;li class="page-item page-next &lt;?php echo ''.$active.''; ?&gt;"&gt; &lt;a href="&lt;?php echo 'http://'.$_SERVER['SERVER_NAME'].'/inbox/'.$page.''; ?&gt;" class="page-link"&gt;&lt;?php echo $page; ?&gt; &lt;/a&gt; &lt;/li&gt; &lt;?php endfor; ?&gt;
  • edit您的帖子包含您对问题的任何其他信息。避免在 cmets 中添加它,因为它们更难阅读并且更容易删除。帖子的编辑按钮就在帖子标签的下方。

标签: php pdo bootstrap-4


【解决方案1】:

您可以在显示按钮/链接的 for 循环中编写 if 条件,它将测试当前迭代是否与 $_GET 值相同。

解决方法:

for ($page=1; $page <= $total_pages ; $page++):?>

<a href='<?php echo "?page=$page"; ?>' class="links <?php echo $_GET['page'] === $page ? 'active' : ''  ?>"><?php  echo $page; ?>
 </a>

<?php endfor; ?>

【讨论】:

  • 这是我的代码。
  • &lt;?php for ($page=1; $page &lt;= $np ; $page++):?&gt; &lt;?php if ($_GET['p']==$page) { $active = 'active'; } else { $active = '';} ?&gt; &lt;li class="page-item page-next &lt;?php echo ''.$active.''; ?&gt;"&gt; &lt;a href="&lt;?php echo 'http://'.$_SERVER['SERVER_NAME'].'/inbox/'.$page.''; ?&gt;" class="page-link"&gt;&lt;?php echo $page; ?&gt; &lt;/a&gt; &lt;/li&gt; &lt;?php endfor; ?&gt; 这行得通。谢谢!
  • 很好,如果你想简化,你可以像这样使用三元:for ($page=1; $page &lt;= $np ; $page++):?&gt; &lt;li class="page-item page-next &lt;?php echo ''.($_GET['p'] == $page ? $active : '').''; ?&gt;"&gt; &lt;a href="&lt;?php echo 'http://'.$_SERVER['SERVER_NAME'].'/inbox/'.$page.''; ?&gt;" class="page-link"&gt;&lt;?php echo $page; ?&gt; &lt;/a&gt; &lt;/li&gt; &lt;?php endfor; ?&gt;
  • 现在我的问题是,大约有 100 页,所以这些数字将永远存在。我如何缩短它?
  • 您应该将其限制在 for 循环中的某个范围内,采用此解决方法:$start = ($_GET['p']-5 &lt; 1) ? 0 : $_GET['p']-5; $end = ($_GET['p']+5 &gt; $np) ? $np : $_GET['p']+5; for ($page = $start; $page &lt; $end ; $page++) ... 这样我们最多只显示 10 个项目。
  • 猜你喜欢
    相关资源
    最近更新 更多
    热门标签