我正在使用MySQL和PHP。
我有一个MySQL博客文章结果集,其中包含id字段和publish_date字段。我每页显示一篇博文,并且脚本知道基于$ _GET ['id']显示哪个博客帖子,这与每个博客条目的id字段相关。我想在网址中通过id引用它们,因为我希望每篇博文都有一个永久性的网址。我想按发布日期(降序)订购博客文章。
现在,在每个页面上都会有下一个和上一个链接,其中包含下一个和上一个博客帖子的$ _GET ['id']值。如何在不循环访问每个mysql结果行的情况下,如何确定下一个和上一个博客帖子的ID(由它的publish_date命令确定)?我不能mysql_data_seek(),因为我不知道当前博客帖子id的行索引。我不想在GET变量中存储行索引,因为url不再是永久性的。我显然无法将行索引存储在SESSION变量中,因为直接指向特定博客帖子的链接会破坏下一个和上一个链接。
任何建议都将不胜感激。
答案 0 :(得分:2)
也许像这样的伪SQL:
select id as nextId
from blogPosts
where pubDate > $thisPubDate
order by pubDate
limit 1;
select id as prevId
from blogPosts
where pubDate < $thisPubDate
order by pubDate DESC
limit 1;