我的网站上有一个名为“查看朋友”的功能,显示一个包含用户朋友的隐藏div。到目前为止唯一的问题是我希望它能在每行显示7行,共3行,每页共有21个成员。我知道我必须收集NumOfMembers / 21给我所需的页面。我只是需要一些建议,从SQL查询获取朋友总数时我应该如何设置分页。有任何想法吗?
答案 0 :(得分:1)
SQL查询应使用limit
和offset
参数进行分页,具体取决于您所在的 n 页面,如下所示:
SELECT .... LIMIT 21 OFFSET n*21
处理结果时,只需使用 modulo 运算符来确定当前结果必须放入的行和行:
// where $i is the result number
$row = $i % 7;
$line = $i % 3;
答案 1 :(得分:0)
您有两个选择:
首先,您可以在一个查询中加载来自php的所有内容,并将所有用户放入一个数组(内容)中,只显示在页面中!
content = [];
max = 21;
function handlePaginationClick(page, pagination_container) {
$('#MyContentArea').empty();
for(var i=0;i<max;i++) {
if(null!=content[(page*max)+i]) $('#MyContentArea').append(content[(page*max)+i]);
}
return false;
}
$("#News-Pagination").pagination(content.length, {
items_per_page:max,
callback:handlePaginationClick
});
你可以使用Jquery分页:https://github.com/gbirke/jquery_pagination#readme 为此。
另一种方法仍然是使用jquery分页,但不能一次加载所有内容!那么你必须在方法'handlePaginationClick'中调用相同的ajax来拉取所有页面信息。