简体   繁体   English

什么是最低和最高数量

[英]What is the lowest and highest number of

I'm building a basic pagination bar to separate posts into pages. 我正在构建一个基本的分页栏,以将帖子分成页面。 I have 3 numeric values: 我有3个数值:

$posts_per_page
$total_pages
$clicked_page_number

So for example, I have 31 posts. 例如,我有31个帖子。 And my $posts_per_page value is 15 , which means that $total_pages becomes 3 . 我的$posts_per_page值为15 ,这意味着$total_pages变为3

My question is, how do I calculate the lowest and highest post number of the selected page ? 我的问题是,如何计算所选页面最低最高帖子数? In either javascript or PHP. 在javascript或PHP中。

To explain this, using the values above, if user clicks on page 2 , then the lowest post number is 16 and the highest post number is 30 . 为了解释这一点,使用上面的值,如果用户单击第2页,则最低的帖子号为16 ,最高的帖子号为30

To get the highest, just multiply the page number by the posts per page. 要获得最高的结果,只需将页码乘以每页的帖子数即可。 The min check is to catch the final page max (for example, if the last page only has 3 in it). 最小检查是为了捕获最后一页的最大值(例如,如果最后一页只有3个)。

var highest = Math.min(totalPosts, clickedPageNumber * postsPerPage)

To get the lowest, it must be the one after the multiple of the previous pages posts per page (as every valid page must have the same min). 为了获得最低的价格,它必须是每页先前页面的多个帖子之后的一个(因为每个有效页面的分钟数必须相同)。

var lowest = (clickedPageNumber - 1) * postsPerPage + 1

It is, as someone else mentioned, basic maths, and has nothing to do with programming. 正如其他人所述,它是基础数学,与编程无关。 However, here goes: 但是,这里是:

$min_post_number = ($clicked_page_number - 1) * $posts_per_page + 1;
$max_post_number = $clicked_page_number * $posts_per_page;
$max_post_number = $max_post_number > $total_posts ? $total_posts : $max_post_number;
function selectedPageBoundaries($clicked_page_number){
     global $posts_per_page;
     $rtn = array();
     $rtn['lower'] = (int_val($clicked_page_number/$posts_per_page)*$posts_per_page);
     $rtn['upper'] = $rtn['lower'] + $posts_per_page;
     return $rtn;
}

something like this? 这样的东西?

$lowest  = 1 + $posts_per_page * ($clicked_page_number - 1);
$highest = $posts_per_page * $clicked_page_number;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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