基本上,这就是我的分页查询目前的样子:
$limit = mysql_escape_string($_GET['pagenumber']);
if (empty($limit)){
$limit = "1";
}
$page = $limit * 10;
$flim1 = $page / 10;
$flim = $page - 10;
在我的查询结束时,我有这个:
... LIMIT $flim, $page
如果页面编号是1和10,那么应该是1,10;如果页面编号是2,则应该是20。它完美地在第一页上工作,但是当我到达第二页时,有20个结果,尽管当我回复$ flim和$ page,他们是10和20.我不明白为什么!
我听说过一些关于分页的双重查询。如果您知道一种类似这样的简单方法,请发布链接。我的方法会起作用吗?
答案 0 :(得分:6)
请参阅LIMIT
的说明LIMIT offset,count
因此,在您的情况下,它将是LIMIT $flim,10
完整代码:
$page = mysql_escape_string($_GET['pagenumber']);
if (empty($limit)){
$page = "1";
}
$items_per_page=10;
$offset = ($page-1)*$_items_per_page;
然后LIMIT $offset,$items_per_page
此外,您需要计算所有项目不能超过最大页面