我正在用PHP创建一个博客(试图让它接近OOP)并且我正在努力让分页在显示所有帖子的页面上工作。
有问题的blog.php的代码是
<?php
require_once("includes/init.php");
$pagetitle = "Blog";
//include header.
require_once("includes/template/header.php");
// initialise script
$blog = new Blog($db);
$parsedown = new Parsedown();
// load blog posts
$posts = $blog->get_posts();
?>
<div class="container">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">Blog Home</h1>
</div>
</div>
<div class="row">
<div class="col-lg-8">
<?php foreach ($posts as $post) { ?>
<h1><a href="<?php echo $post['slug']; ?>"><?php echo $post['title']; ?></a>
</h1>
<p class="lead">by <a href="#"><?php echo $post['author']; ?></a>
</p>
<hr>
<p><i class="fa fa-clock-o"></i> Posted on <?php echo date("d/m/Y", strtotime($post['date'])); ?> At <?php echo date("H:i", strtotime($post['date'])); ?> in <?php
$categories = $blog->get_categories($post['id']);
$links = array();
foreach ($categories as $category) {
$links[] = "<a href='blog-categories.php?id=".$category['category_slug']. "'>".$category['category_name']."</a>";
}
echo implode(", ", $links); ?></p>
<hr>
<p><?php $content = $parsedown->parse($post['content']); echo substr($content,0,445) ; ?></p>
<a class="btn btn-primary" href="<?php echo $post['slug']; ?>">Read More <i class="fa fa-angle-right"></i></a>
<a class="btn btn-primary" href="<?php echo $post['slug']; ?>#disqus_thread"><i class="fa fa-angle-right"></i></a>
<hr>
<?php }
?>
</div>
有人可以告诉我,我可以添加到Blog类或放入一个新类,以允许blog.php只显示第一个说5个结果,然后给出一个&#39; next&#39;链接查看下一组5.我不担心显示总页数。
非常感谢一些帮助,用它拉出我的头发。
由于该类很大,可以在http://pastebin.com/qN5ii2Ta
查看答案 0 :(得分:1)
您当前正在使用方法get_posts()。您可以重新定义此方法以接受开始从中收集帖子的起点。定义此起始点后,您可以限制SQL查询中返回的帖子数。