按你的思路每次从前台传两个参数就可以了,一个是start,一个是limit.start表示从第几条数据开始查询,limit表示每次列出多少条数据.你在page_class.php中接受到这两个参数再去db中查询就可以了.其实别的ajax框架也是这么做的.

解决方案 »

  1.   

    自己写了一个,看是否能帮你
    分页的:
    function createNavigation(totalrec,totalpage,curpage,perpage,callback){
    totalpage = parseInt(totalpage);
    curpage = parseInt(curpage);
    perpage = parseInt(perpage); var nvstr = "<ul class='pagenav'><li class='totalrec'>"+totalrec+"</li><li class='pagetip'>"+curpage+"/"+totalpage+"</li>";
    if(totalpage <= perpage){
    for(var i = 1; i < totalpage + 1 ; i++){
    var cls = curpage == i ? "curpage":"nocurpage";
    var clk = curpage == i ? "" : "onclick='eval("+callback+"("+i+"))'";
    nvstr += "<li class='"+cls+"' "+clk+">" + i + "</li>";
    }
    }
    if(totalpage > perpage){
    var startpage = (Math.ceil(curpage / 10) - 1) * 10;
    var endpage = startpage + 10 > totalpage ? totalpage : startpage + 10;
    if(curpage > perpage){
    nvstr += "<li class='nocurpage' onclick='eval("+callback+"(1))'>|<</li>";
    nvstr += "<li class='nocurpage' onclick='eval("+callback+"("+(curpage - 1)+"))'><<</li>";
    } for(var i = startpage + 1 ; i < endpage + 1 ; i ++ ){
    var cls = curpage == i ? "curpage":"nocurpage";
    var clk = curpage == i ? "" : "onclick='eval("+callback+"("+i+"))'";
    nvstr += "<li class='"+cls+"' "+clk+">" + i + "</li>";
    }
    if(curpage <= totalpage&&totalpage > endpage){
    nvstr += "<li class='nocurpage' onclick='eval("+callback+"("+(curpage + 1)+"))'>>></li>";
    nvstr += "<li class='nocurpage' onclick='eval("+callback+"("+totalpage+"))'>>|</li>";
    }
    }
    nvstr += "</ul>";
    return nvstr;
    }取数据的://用prototype的ajax类,也可以自己写
    function getquestion(curpage){
    var url = '../post.php';
    var pars = 'mod=person&action=question&userid='+userid+'&curpage='+curpage+'&time='+Math.random();
    //$("error").innerHTML = pars;
    try{
    var update = new Ajax.Updater("rs",
    url,
    {
    method : 'post',
    parameters : pars,
    onComplete: displayquestion
    }
    )
    }catch(e){$("error").innerHTML = "13002";}
    }显示数据:
    function displayquestion(rs){
    var result = rs.responseXML;
    var curpage = getValue(result,'curpage');
    var limit = getValue(result,'limit');
    var totalpage = getValue(result,'totalpage');
    var totalrec = getValue(result,'totalrec');
    var questions = getValues(result,'question');
    var str = "<ul>";
    str += "<li class='qid'><b>编号</b></li>";
    str += "<li class='title'><b>问题</b></li>";
    str += "<li class='contents'><b>回答</b></li>";
    str += "</ul><hr class='clear'>";
    for(var i=0;i<questions.length;i++)
    {
    var qst = questions[i];
    var title = getValue(qst,'title');
    var contents = getValue(qst,'contents');
    var _contents = getValue(qst,'_contents');
    str += "<ul>";
    str += "<li class='qid'>"+(i+1)+"</li>";
    str += "<li class='title'>"+title+"</li>";
    str += "<li class='contents'><a href=\"JavaScript:;\" onclick=\"insertanswer('"+contents+"','"+userid+"')\" title='"+contents+"'>"+_contents+"</a></li>";
    str += "</ul><hr class='clear'>";
    }
    str += createNavigation(totalrec,totalpage,curpage,10,callback);//这里调用分页函数
    $('question').innerHTML = str;//写入页面
    }function callback(pg){//可以通过全局变量传多个参数
    getquestion(pg);
    }
    getquestion(1);
      

  2.   

    最近我也照着网上的一些写法写了个类似的东西从服务器传到页面就有要显示的数据data,是个数组,每个元素都是json对象[{},{},{}]还要传回来分页的基本信息,如共有多少条记录,当前页首条数据是结果集的第几条记录,每页最大数据是多少条其他关于分页的数据都是在客户端计算完成的翻页的时候就计算一下,然后将信息发送给服务器
      

  3.   

    1,我有一个page_class.php(PHP分页类),那是不是应该当用户点击一个分页数字时,我要进行两个异步  
       第一个异步:评论内容查询 
       第二个异步:重新生成列表分页(注:利用page_class.php在服务器段生成分页列表号,然后返回) 
    这两个异步是单独的
    这样合理吗