我有一个简单的loadmore函数,它设置查询的限制并添加到偏移量,因此只会再次加载新项目。当我有4个项目开始时,这样可以正常工作,但是当我想从头开始显示8个时,这个工作正常。
我的代码:
var limit = 8;
var offset = 0;
$('#loadmoreprojects').click(function() {
limit = 4;
offset += 4;
ajax();
});
查询:
$project = "
SELECT ct.*, fe.*, cn.*
FROM 123_content ct
INNER JOIN 123_fieldsandfilters_elements fe on fe.item_id = ct.id
INNER JOIN 123_fieldsandfilters_connections cn on cn.element_id = fe.id
WHERE ct.catid IN ('10')
ORDER BY ct.ordering LIMIT ".$_POST['limit']." OFFSET ".$_POST['offset']."";
这从开始时显示8个项目,但是当加载更多时,它再次显示第2行(前8个项目中的最后4个)。这是有道理的,因为当点击按钮时限制再次设置为4(因为在第一个8之后,我只想要加载4个新项目)如果我将其更改为8,那么每次点击都会加载8个项目,这是不是我想要的。
我该如何解决这个问题?
答案 0 :(得分:0)
解决方案:
var limit = 4;
var offset = 0;
var i =0;
$('#loadmorenews').click(function() {
limit = 2;
if(i == 0) {
offset += 4;
} else {
offset += 2;
}
i++;
ajax();
});