调用MySQL查询中的下一个和上一个记录

时间:2013-05-13 15:41:34

标签: php content-management-system blogs

如何在不参考ID的情况下调用下一个和以前的MySQL记录?

在我的表格中,我有以下记录:

  • IDNO(自动增量,主键)
  • 标题
  • Slug(唯一键)
  • 数据
  • DateTime(Y-m-d H:i:s)

我有两个页面 - index.php和single.php。在index.php中,我的帖子被调用(一次10个)并按DateTime排序。每个条目都链接到single.php,其中显示单个帖子,基于URL变量slug并在我的数据库中调用相应的记录。我想,由于这些网页构成了一个简单的博客,要拨打下一篇文章和上一篇文章,仍然按DateTime顺序排序(下一个会链接到最近的帖子,之前的链接指向最近的帖子后)。关于如何做到这一点的任何建议?如果它是基于IDNO,我可以做到,但由于它不是,并且帖子不是自然的DateTime顺序,但在我的查询中这样排序,我不知所措。

我在每个single.php页面上使用的查询是:

SELECT * FROM site_posts WHERE slug = '".$_GET['SLUG']."'

我希望链接显示在此页面上,因此我只包含该查询。

1 个答案:

答案 0 :(得分:1)

下一篇文章

SELECT * FROM site_posts WHERE DateTime > $currentPostDateTime   
  ORDER BY DateTime ASC LIMIT 0,1  


对于上一篇文章

SELECT * FROM site_posts WHERE DateTime < $currentPostDateTime   
  ORDER BY DateTime DESC LIMIT 0,1