[英]PHP API offset Pagination
我有以下代码,但我不确定如何使用相同的 function 循环循环和偏移记录以获取接下来的 20 条记录。
第一次调用时 gameid 为零,第二次调用时 gameid 为 21。
$result = new ArrayObject();
$count = 0;
foreach($response as &$game) {
$game = get_object_vars($game);
if ($game['gameType'] == $gametype )
{
$result->append(array($game['gameName'], $game['gameType']));
if ($count == $gameid+19) break;
$count ++ ;
}
}
谢谢你
我认为您应该使用页面大小和页面索引的概念。
在您的情况下,您似乎想要页面大小为 20。使用gameid
发送第二个请求意味着您需要页面大小为 20 和页面索引为 1(而不是 0)。
所以考虑这样的代码:
$count = 0;
$pageSize = 20; // this can be const or come as param
$pageIndex = 0; // this should be as params
foreach($response as &$game) {
$game = get_object_vars($game);
if ($game['gameType'] == $gametype ) {
$count++ ;
if ($count > ($pageSize * $pageIndex))
$result->append(array($game['gameName'], $game['gameType']));
// if you over the request chunk break
if ($count > ($pageSize * ($pageIndex + 1)) break;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.