内联分页记录与PHP JQUERY AJAX JSON
Inline Pagination of Records with PHP JQUERY AJAX JSON
我试图找出一个好方法加载记录顺序使用一些分页。
加载后,页面将查询数据库并抓取最近的5条记录,并在这些记录的末尾显示一个链接'show more'。当这个链接被点击时,它应该再次发布并检索接下来的5条记录,所以在这个意义上,记录将只被加载。
我猜这在某种程度上类似于分页,但没有页面计数器,只是"下一个"。我们目前的代码是内联javascript, jquery发布到一个php脚本,并返回一个数组,然后得到追加。好在html不是
我的初始查询是否应该抓取db中所有记录的计数进行分页?
有什么特别的参考资料可以帮助我完成这项工作吗?下面的代码有一个问题,当'Showmore'点击它只加载一个记录而不是3 (num var)
var num = 3;
var i =0,j=0;
var total;
var sm;
function fun(sm){
$.post('select1.php?id=2',{},function(count){
total = count;
});
$.post('select1.php?id=1',{num:num},function(data)
{
if(num == total)
{
$('#show').hide();
$('#show1').html('<p>No more images found!</p>');
}
var arr = data.split('/');
//alert(arr.length);
if(sm){j=sm};
for(i=j;i<(arr.length-1);i++)
{
//alert(arr[i]);
var p = arr[i].split('.');
//alert(p[1]);
$('#imggal').append('<a href="page3.php?file='+arr[i]+'"><img src="upload/small'+arr[i]+'" title ='+arr[i+1]+' border="0"></img></a><br><span style="display:block;font-size:12px;color:blue;letter-spacing:-1px">'+arr[i+2]+'<br>'+arr[i+1]+'</span><br></br').fadeIn('slow');
i=i+2;
}
});
}
fun();
$(document).ready(function(){
$('#showmore').click(function(e){
//e.preventDefault();
j=num*3;
num++;
//alert(num);
//$('#imggal').html('');
fun(j);
});
});
我还不能发表评论,所以我将尝试在这里回答有限的信息。我要做一些假设。
- 你有你的选择查询排序的东西,以保持你的结果顺序调用之间
- 你不想删除以前的项目,当你加载更多,你真的想继续显示新的项目,直到你用完数据库中的项目添加
有了这些假设,确定是否有更多项目要显示的简单方法是跟踪每个请求的偏移量和数量。作为一个例子…
如果你想在每个'show more'请求中显示5个项目,你会
- 开始偏移量为0 请求num+1,但只显示num
- 如果结果集是> num,你可以显示更多,因为你知道肯定存在更多
- 如果结果集为<= num,则无法显示更多数据
- 如果你'show more',增加你的偏移数num
使用此方法,您不知道数据库中的项目总数,但您始终知道是否有更多项目要显示。
同样,您需要在数据库中限制和排序您的选择查询以使此工作。IE for mysql
select filename, thumbnail, id from image_table order by id limit OFFSET, NUM
OFFSET和NUM来自你的。post
相关文章:
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 将curl查询转换为jQuery.ajax()
- jQuery AJAX write to XML
- jQuery Ajax GET请求工作不正常
- jquery ajax https调用给出ERR_INSECURE_RESPONSE
- VB NET JQUERY AJAX上出现错误500
- 如何使用jquery ajax和jsonp在您自己的域上读取json数据
- Jquery/Ajax.serialize()未完全工作
- 页面加载之前的jQuery Ajax加载程序
- jquery/ajax无限滚动事件
- 使用Jquery$.ajax将json数据传递给servlet(doPost)
- 如何将给定的curl命令复制为jquery ajax请求
- 使用 JQUERY AJAX (Spring MVC) 从控制器中删除
- Twitter API在jQuery AJAX中设置授权头
- AngularJS JQuery Ajax表单提交等效
- jQuery Ajax.ajaxSuccess()事件未激发
- 为什么Jquery$.ajax在函数调用中触发所有statusCode,即使调用成功
- jQuery AJAX总是出错
- jQuery Ajax数组序列化错误
- jQuery AJAX获取Vimeo缩略图