很长一段时间潜伏在第一次提问者。
我正在尝试拼凑一个分页功能,该功能会考虑项目总数并增加每页的结果,以确保每个页面都已完全填充。
例如,如果我有35个结果,并且我希望每页至少有10个结果,那么理想情况下它将返回12,12和每页11个结果。
显然,我的逻辑很弱,因为我对我的生活似乎无法理解这个看似简单的任务。令人尴尬(这让我很难问)因为我已经在这一周工作了一个星期,我知道这有一个简单的答案。我不一定要求解决方案(虽然这将是值得赞赏的)因为正确方向的提示可能就是我所需要的。
答案 0 :(得分:2)
假设您至少有10个项目(测试它):
nbPages = floor(nbItems/10)
nbItemsPerPageMax = 10 + ceil((nbItems - 10*nbPages)/nbPages)
您不需要调整最后一页,因为limit
子句在这种情况下不需要确切的数字或项目(只需使用limit numPage*nbItemsPerPageMax, nbItemsPerPageMax
)。
答案 1 :(得分:0)
哟必须编写这样的查询并使用LIMIT
来限制您在所有结果中显示结果的数量。
select * from table where condition LIMIT 0,12