我希望返回表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列创建了友好的URLRewriteRule ^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">«</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">»</span>
</a>
</li>
</ul>
</nav>
点击分页链接中的数字时,请直接记录网址:
site.com/category/1
site.com/category/2
site.com/category/3
...
但我不知道如何开始插入php分页。
感谢您的帮助
答案 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}";
当然适应您的项目;