从数据库中获取上一个条目


Getting the Previous Entry From A Database

我正在建立一个包含文章的新闻网站,并试图在每篇文章的末尾显示下一篇文章和上一篇文章。

下一个链接工作正常,但上一个链接始终显示第一个帖子。 以下是我为每个代码使用get代码:

$get_next_sql = "SELECT * FROM articles WHERE id > '$article_id' LIMIT 1";
$get_prev_sql = "SELECT * FROM articles WHERE id < '$article_id' LIMIT 1";

我在prev代码中缺少某些内容吗?

您只会获得id低于当前帖子的帖子。

默认情况下,数据库按主字段和 ASC 顺序排序。

因此,它总是以最低id返回帖子。

您需要的是低于当前和最高id的帖子。

因此,更正后的代码应该是:

$get_prev_sql = "SELECT * FROM articles WHERE id < '$article_id' ORDER BY id DESC LIMIT 1";
$get_prev_sql = "SELECT * FROM articles WHERE id < '$article_id' ORDER BY id DESC LIMIT 1";

主键的默认顺序为 ASC

使用此查询

select * from table_name where id < your_current_id order BY id desc limit 1