【发布时间】:2013-08-24 11:14:10
【问题描述】:
有显示帖子的功能 (请忽略语法错误)
function get_all_posts ($offset = 0 )
{
$q = $db->query("select * from tbl limit 10 offset $offset ");
$template->load_view('posts' , $q );
}
现在假设我有一个名为 get_one_post 的函数,它有一个帖子偏移量和总帖子数作为参数
function get_one_post($requested_post_offset = 0 , $totl_posts_count = 0 )
{
}
基本上我想在这个get_one_post 中做的是计算requested_post 的页面偏移量并调用get_all_posts 函数,因此它显示包含该特定帖子的页面
function get_one_post($requested_post_offset = 0 , $totl_posts_count = 0 )
{
$page_offset = // calculation( $requested_post_offset , $totl_posts_count );
get_all_posts ($page_offset);
}
我可以说
get_all_posts ($requested_post_offset );
但它将请求的帖子显示为页面中的第一个帖子......但我想在分页中的自然位置而不是第一个
我应该怎么做calculation 部分?
---------------------------------编辑------------- ---------------
请注意,我知道如何创建和实现分页...这不是这里的问题 我的框架分页系统使用偏移量而不是页码.. 就像 per_page 是 10 ,分页链接就像
page 1 => page.php?offset=0
page 2 => page.php?offset=10
page 3 => page.php?offset=20
在本例中,如果 $requested_post_offset 为 15,则
页偏移量为 10
我应该得到 p> 的结果
page 2 => page.php?offset=10
【问题讨论】:
-
嗯,在大多数分页实现中,您必须了解的第一件事是表中的记录总数。您是否有一个初始查询来确定行数?
-
@MikeBrant 我在
get_one_post函数的第二个参数中得到了这一点