9

たとえば、次のように言いましょう。

$startIndex = 21; 
$totalItems = 100;
$itemsPerPage = 10;
$totalPages = ceil($totalItems / $itemsPerPage);  // (10)

$currentpage = //I am stumped here.

$startIndex に基づくと、$currentpage はどうなるでしょうか?

私はページネーションに取り組んでいますが、それは私のお尻を蹴っています。おそらく非常に単純な計算であることはわかっていますが、今は考えられません。

4

4 に答える 4

15

1 ページあたり 10 項目で、項目数/番号付けが 1 から始まると仮定すると、1 ページには 1 から 10 の項目が含まれ、2 ページには 11 から 20 の項目が含まれ、3 ページには 21 から 30 の項目が含まれます。

そう、

$currentPage = ceil(($startIndex - 1) / $itemsPerPage) + 1;

以前ceil()は、現在のページ番号が正しいように切り上げられた整数があることを確認していました。


項目数が 0 から始まり、1 ページに項目 0 から 9 が含まれる場合、式の- 1+ 1の部分をスキップできます。

$currentPage = ceil(($startIndex) / $itemsPerPage);
于 2013-01-30T21:19:38.320 に答える
8

数学の授業でよく寝たね。

$currentpage = (($startIndex - 1) / $itemsPerPage) + 1;
于 2013-01-30T21:19:40.943 に答える
1

もしも:

$startIndex = 21; 
$totalItems = 100;
$itemsPerPage = 10;
$totalPages = ($totalItems / $itemsPerPage);  // (10)

それから

$currentpage = $startIndex/$itemsPerPage; //Make sure that it uses integer division
于 2013-01-30T21:20:34.937 に答える