繁体   English   中英

PHP API 偏移分页

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM