如何从mysql数据库中提取固定数量的项目

时间:2012-03-09 22:37:39

标签: c# jquery mysql ajax

我有一个Web应用程序,当你进入页面时,会调用ajax来获取数据库中的所有数据。它将数据存储到Global变量中,当用户向下滚动页面时,它会将更多内容加载到页面中。现在我希望能够调用数据库并在向下滚动时从数据库中抓取20个项目,而不是在页面加载时全部获取它们。有这样做的好方法吗?谢谢你的帮助。

这是我想做的 1.Page load(获得前20项) 2.当它们向下滚动到底部附近(Ajax调用以获得下一个20并将其附加到表,列表等)

mysql帮助正确查询。

2 个答案:

答案 0 :(得分:7)

MySQL支持selects上的LIMIT关键字,例如:

SELECT foo,bar
FROM   charlie
WHERE  criterion = value
LIMIT  20

它最多接受两个参数。如果您提供一个,则返回的行数(最大值)。如果提供两个,则第一个是偏移(跳过)值,第二个是限制。例如。 (来自文档):

SELECT * FROM tbl LIMIT 5,10;  # Retrieve rows 6-15

LIMITORDER BY结合使用并禁止插入,即可进行分页。

答案 1 :(得分:2)

是的,SELECT上的LIMIT选项可以解决问题。您显然还需要跟踪当前位置,并使用LIMIT的偏移量参数来确保您继续向前移动。

LIMIT [offset],限制

因此,在查询前20个之后,您需要存储该位置(20),然后将其用作偏移量:

LIMIT 20,20

然后你需要增加偏移量,以便你的限制为:

LIMIT 40,20