2

我正在开发一个显示最后 10 个帖子的块,当用户单击“加载更多”按钮时,我想显示 10 个较旧的帖子。

如果我已经在使用 DESC LIMIT,如何选择最后 10 行?

mysql_query("SELECT title,id,alt_name FROM dle_post WHERE approve='1' AND date >= '$monthagodate'
AND date < '$curdate' + INTERVAL 1 day ORDER BY date DESC LIMIT $more;");
4

2 回答 2

5

您只使用一个参数进行限制。但是您可以LIMIT x,y同时指定x(要返回的第一条记录的位置)和y(要返回的记录数)。

将变量传递给页面,例如results.php?start=x设置起始位置。

if (!isset( $_REQUEST['start'] ) ) { $start = 0; } else { $start = (int)$_REQUEST['start']; }

mysql_query("SELECT title,id,alt_name FROM dle_post WHERE approve='1' AND date >= '$monthagodate'
AND date < '$curdate' + INTERVAL 1 day ORDER BY date DESC LIMIT $start,10;");

然后你可以生成一个指向下一页的链接,如下所示:

echo '<a href="results.php?start=' . ($_REQUEST['start']+10) . '">Next 10 results</a>';

于 2012-12-12T21:24:51.230 回答
1

您应该添加另一个参数$start并使用以下查询

mysql_query("SELECT title,id,alt_name FROM dle_post WHERE approve='1' AND date >= '$monthagodate' AND date < '$curdate' + INTERVAL 1 day ORDER BY date DESC LIMIT $start, $more;");

这里$start用于 telMySQL要获取的记录的起点。

于 2012-12-12T21:25:26.760 回答