我正在建立一个基本的分页栏,将帖子分成页面。我有3个数值:
$posts_per_page
$total_pages
$clicked_page_number
例如,我有31
个帖子。我的$posts_per_page
值为15
,这意味着$total_pages
变为3
。
我的问题是,如何计算所选网页的最低和最高帖子编号 ?在javascript或PHP中。
为了解释这一点,使用上述值,如果用户点击了第2
页,那么最低的帖子号码为16
,最高的帖子号码为30
。
答案 0 :(得分:2)
要获得最高分,只需将页码乘以每页的帖子。最小化检查是捕获最终页面最大值(例如,如果最后一页只有3个)。
var highest = Math.min(totalPosts, clickedPageNumber * postsPerPage)
要获得最低值,它必须是每页前一页的多个帖子之后的那个(因为每个有效页面必须具有相同的最小值)。
var lowest = (clickedPageNumber - 1) * postsPerPage + 1
答案 1 :(得分:1)
正如其他人提到的那样,它是基本数学,与编程无关。但是,这里有:
$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;
答案 2 :(得分:0)
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;
}
这样的事情?
答案 3 :(得分:0)
$lowest = 1 + $posts_per_page * ($clicked_page_number - 1);
$highest = $posts_per_page * $clicked_page_number;