制作一个PHP和MySQL博客将旧帖子移到另一个页面?

时间:2013-03-06 23:08:23

标签: php html mysql

我有兴趣制作一个PHP博客,我知道如何制作一个PHP表单将内容放入MySQL数据库,但我想知道一些事情。

假设我在数据库中有5个帖子,并且显示在网页上,但在这五个帖子之后我想添加一个新帖子并让它只显示其中的五个,并制作第二个“页面“额外的一个。

有点像谷歌没有在一个页面上显示所有结果,但很多。我该怎么做?

谢谢!

1 个答案:

答案 0 :(得分:1)

您需要更改提取帖子的查询以使用LIMIT和ORDER BY

在第一页上你会有

SELECT * from posts ORDER BY id DESC LIMIT 5;

这会获得最新的帖子(假设一个递增的整数ID),并且限制只能获得其中的五个。

然后,您需要一个单独的查询来获取行数,以便知道要显示的页数:

SELECT COUNT(*) FROM posts;

然后将在代码中使用查询结果:

$num_pages = $post_count / $posts_per_page;
for($i=0; $num_pages < $i; $i++)
{
    print "<a href='?page=$i'>page $i</a>";
} 

然后您的第二页需要计算适当的偏移量。 e.g。

$offset = $_GET['page'] * $posts_per_page - $posts_per_page;

然后执行如下所示的查询以获得接下来的五个帖子。 LIMIT之后的第一个数字应该是上面计算的数字。 LIMIT 5,5表示在第五个结果之后开始,最多获得五个。 MySQL Docs

SELECT * FROM posts order by id desc LIMIT 5,5