Php 如何检索多个元素的第n组
我发现,要从数据库Php 如何检索多个元素的第n组,php,sql,mysqli,Php,Sql,Mysqli,我发现,要从数据库$x中选择数量有限的元素,我可以使用 $sql="SELECT * FROM user ORDER BY id LIMIT $x"; 因此,如果$x=10,此查询将从数据库中检索前10个元素 但是如何检索第n个$x元素呢 例如,如果$n=5和$x=20我想检索20个元素,以便这20个元素是数据库中的第5个20元素,例如,这个示例是数据库中80-100的元素,不管它们的ID是什么 我该怎么做? $m = $n-1; $start = $m*$x; $s
$x
中选择数量有限的元素,我可以使用
$sql="SELECT * FROM user ORDER BY id LIMIT $x";
因此,如果$x=10,此查询将从数据库中检索前10个元素
但是如何检索第n个$x
元素呢
例如,如果$n=5
和$x=20
我想检索20个元素,以便这20个元素是数据库中的第5个20元素,例如,这个示例是数据库中80-100的元素,不管它们的ID是什么
我该怎么做?
$m = $n-1;
$start = $m*$x;
$sql="SELECT * FROM user ORDER BY id LIMIT $start, $x";
假设我们希望从一个名为“订单”的表中选择1-30(含)的所有记录。SQL查询将如下所示:
$sql = "SELECT * FROM Orders LIMIT 30";
当运行上面的SQL查询时,它将返回前30条记录
如果我们想选择记录16-25(含),该怎么办
Mysql还提供了一种处理方法:使用偏移量
下面的SQL查询表示“仅返回10条记录,从记录16开始(偏移量15)”:
您还可以使用较短的语法来实现相同的结果:
$sql = "SELECT * FROM Orders LIMIT 15, 10";
请注意,使用逗号时,数字是颠倒的。
参考:限制的第二个参数表示结果的数量,而不是偏移量。
$sql = "SELECT * FROM Orders LIMIT 30";
$sql = "SELECT * FROM Orders LIMIT 10 OFFSET 15";
$sql = "SELECT * FROM Orders LIMIT 15, 10";