分页 SQL 查询语法

3

我正在尝试按日期对我的讨论版帖子进行排序。以下是我的代码:

$query = mysql_query("SELECT * FROM {$statement} 
LIMIT {$startpoint} , {$limit} 
ORDER BY datetime ASC");

这段代码语法上有问题吗?如果没有,还可能出现什么问题?基本上的情况是,结果没有显示出来。我移除了Order by,它就可以工作(但当然没有排序...)


你确定你的字段叫做“datetime”吗? - Alejandro B.
3个回答

7

在使用limit之前应该先使用order by:

$query = mysql_query("SELECT * FROM {$statement} 
ORDER BY datetime ASC LIMIT {$startpoint} , {$limit}");

3

试一试这个:

$query = mysql_query("SELECT * FROM {$statement} 
ORDER BY datetime ASC LIMIT {$startpoint} , {$limit} ");

1

可能有点晚了,但是mySQL提供了OFFSET关键字,非常有用...特别是对于分页。

mysql_query("SELECT * FROM {$statement} ORDER BY datetime ASC LIMIT {$limit} OFFSET {offset}

如果您想每页显示10条记录,并且想在第二页显示11-20条记录,您的查询语句应该如下:

 mysql_query("SELECT * FROM {$statement} ORDER BY datetime ASC LIMIT 10 OFFSET 10

参考:http://www.petefreitag.com/item/451.cfm


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接