如何插入限制帖子的分页?

时间:2016-02-26 19:55:48

标签: php mysql pagination

我希望返回表Mysql中的所有帖子,每个页面只显示6个帖子,并在底部显示分页。

我可以返回所有帖子,但我不知道如何使用分页:

    <?php
        $query = "SELECT * FROM myTable";       

        $variable = $crud->viewdatas($query);
        foreach ($variable as $key => $value) { 

     ?>
  <div class="col-md-1"> 
    <div class="thumbnail">
        <a href="/category/<?php echo $value['post_slug'] ?>" >
        <img src="http://example.com/uploads/images/<?php echo $value['post_slug'] ?>.jpg">
        </a>
    </div>
  </div>
<?php 
        }
 ?>

我在mysql和htacess

中使用post_slug列创建了友好的URL
RewriteRule ^category/?$ example.com/my_category.php [NC,L]
RewriteRule ^category\/(.*)\/?$ example.com/posts.php?slug=$1 [NC,L]

分页:

<nav style="text-align:center">
  <ul class="pagination">
    <li>
      <a href="#" aria-label="Previous">
        <span aria-hidden="true">&laquo;</span>
      </a>
    </li>
    <li><a href="#">1</a></li>
    <li><a href="#">2</a></li>
    <li><a href="#">3</a></li>
    <li><a href="#">4</a></li>
    <li><a href="#">5</a></li>
    <li>
      <a href="#" aria-label="Next">
        <span aria-hidden="true">&raquo;</span>
      </a>
    </li>
  </ul>
</nav>

点击分页链接中的数字时,请直接记录网址:

site.com/category/1
site.com/category/2
site.com/category/3
...

但我不知道如何开始插入php分页。

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

你在表中使用某种递增行吗? 如果是这样,你可以做这样的事情

网址将是 site.com/category/yourpage.php?page=2

$page = $_GET['page'];
$resultsLimit = 6;
$upperLimit = 6 * $page;
$lowerLimit = (6*page) - $resultsLimit;
$query = "SELECT * FROM myTable WHERE id <= {$upperLimit} AND id >= {$lowerLimit}";

当然适应您的项目;