mysql:从DESC LIMIT中选择最后10行

时间:2012-12-12 21:21:03

标签: php mysql

我正在处理一个显示最近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;");

2 个答案:

答案 0 :(得分: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>';

答案 1 :(得分: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用于tel MySQL要获取的记录的起点。