5

バックエンドのページネーションを実装したいという状況がありますが、その方法がわかりません。合計ページをフェッチして(ページはn個の定義済み要素のリストです)、サーバーを呼び出して1番目、2番目、3番目、4番目、....n番目のページなどをフェッチするソリューションを考えています。の上。助言がありますか ?

4

1 に答える 1

2

一般に、ページネーションは、1 ページに表示する結果の数と、ユーザーが現在表示している結果のページをユーザーに指定することによって行われます。ただし、MySQL や Solr などのバックエンド ストレージは通常、ページごとに表示する結果の数と、出力でスキップする結果の数を指定することで、ページネーションを処理します。私は通常、次のような PHP を使用して、前者 (ユーザーから) から後者 (バックエンド用) を取得します。

$documentsPerPage = 10;

if ( isset($input['page']) && is_numeric($input['page']) && $input['page']>0 ) { 
    $skip = $documentsPerPage * (intval($input['page'])-1);
} else {
    $skip =0;
}

$sql = "SELECT * FROM someTable LIMIT {$skip}, {$documentsPerPage}";

データベースにレコードがある場合$count、シミュレートされたフロアアップ操作でページ数を計算する方法は次のとおりです。

$totalPages = ($count + $documentsPerPage - 1) % $documentsPerPage;
于 2012-11-12T12:32:29.893 に答える