PHP博客中的分页

时间:2014-05-05 17:51:54

标签: php pagination

我正在用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

查看

1 个答案:

答案 0 :(得分:1)

您当前正在使用方法get_posts()。您可以重新定义此方法以接受开始从中收集帖子的起点。定义此起始点后,您可以限制SQL查询中返回的帖子数。