负限制器MySQL

时间:2012-03-11 17:39:40

标签: php mysql ajax

我的代码从表中获取最后10个值。此表格具有结构idtext,目前它有20行。我用这段代码

<?php
$query = mysql_query("SELECT * FROM `table` ORDER BY `id` DESC LIMIT 10");
// Fetching data stuff here
?>

并返回ID 11-20的数据。 (20的最后10个)

我希望通过AJAX从这个1-10中获取前10个值。我想也许这会起作用

$previous_id= $_GET["last"];  // This time it will be 11
mysql_query("SELECT * FROM `table` ORDER BY `id` DESC LIMIT $previous_id, -10");

但我没有,有什么建议吗?

由于

PS:这不是gimme teh codez问题,我只是想知道如何使该查询有效。

2 个答案:

答案 0 :(得分:1)

只需使用正数代替-10

"SELECT * FROM `table` ORDER BY `id` DESC LIMIT $previous_id, 10"

我们假设$previous_id5,查询将是:

"SELECT * FROM `table` ORDER BY `id` DESC LIMIT 5, 10"

返回的行将从510条记录开始。

答案 1 :(得分:1)

如果我理解正确,你想在行id = $previous_id之前得到10行,按降序ID排序。

如果是这种情况,您最好的选择是使用WHERE条件。正如您在id DESC订购时,您需要前10行id > $previous_id

SELECT * FROM `table` WHERE `id` > $previous_id ORDER BY `id` DESC LIMIT 10

这些将是原始查询中$previous_id之前的10行。