我正在处理一个显示最近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;");
答案 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
要获取的记录的起点。