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